MOSTRAR DADOS DO ACCESS PARA O MSFLEXGRID URGENTE
Boa Tarde Pessoal, tenho um FORM de LOGIN para de progeama que estou desenvolvendo para faculdade
esta funcionando corretamente até que o professor pediu para colocar um MSFLEXGRID onde ele tera que mostrar
somente algumas COLUNAS da TABELA ESPECIFICA.
Até aà tudo bem, mas veio o problema!!!!!
Consigo pegar apenas os dados do usuário logado e não os outros
TABELA = Usuarios
COLUNAS = Cartao, HEnt, HIntS, HIntE, HSai
MSFLEXGRIG = FlexHor
TbUser = A String de Conexao com a TABELA
Procedure Criada com o nome de : Exibir_Dados
[txt-color=#e80000]Verifique o Código[/txt-color]
Utilizo DAO
esta funcionando corretamente até que o professor pediu para colocar um MSFLEXGRID onde ele tera que mostrar
somente algumas COLUNAS da TABELA ESPECIFICA.
Até aà tudo bem, mas veio o problema!!!!!
Consigo pegar apenas os dados do usuário logado e não os outros
TABELA = Usuarios
COLUNAS = Cartao, HEnt, HIntS, HIntE, HSai
MSFLEXGRIG = FlexHor
TbUser = A String de Conexao com a TABELA
Procedure Criada com o nome de : Exibir_Dados
[txt-color=#e80000]Verifique o Código[/txt-color]
Private Sub Exibir_Dados()
Dim i As Integer
[ô]Limpando o FlexGrid para exibição
FlexHor.Clear
If TbUser(0) > 0 Then
FlexHor.Rows = TbUser.Fields.Count + 1
Else
FlexHor.Rows = 2
End If
[ô]Abre o RecordSet para a tabela selecionada
Set TbUser = Conexao.OpenRecordset([Ô]SELECT Cartao, HEnt, HIntS, HIntE, HSai FROM Usuarios[Ô])
FlexHor.Cols = TbUser.Fields.Count + 1
No = 1
FlexHor.Row = 0
FlexHor.Col = 0
FlexHor.Text = [Ô]Horários[Ô]
For i = 0 To TbUser.Fields.Count - 1
FlexHor.Col = i + 1
FlexHor.Text = TbUser.Fields(i).Name
Next
If TbUser.EOF = False Then
[ô]Abre o nome das colunas para o FlexGrid
While Not TbUser.EOF
FlexHor.Row = No
FlexHor.Col = 0
For i = 0 To TbUser.Fields.Count - 1
FlexHor.Col = i + 1
FlexHor.Text = IIf(IsNull(TbUser(i)), [Ô][Ô], TbUser(i))
Next
No = No + 1
DoEvents
TbUser.MoveNext
Wend
End If
End Sub
Utilizo DAO
Citação:...Consigo pegar apenas os dados do usuário logado e não os outros...
O problema deve está na QUERY.
Para facilitar pra nós, mostre o resultado que deveria aparecer no GRID.
Ok
Verifique que esta somente os meus dados e falta os outros
Verifique que esta somente os meus dados e falta os outros
Acho que está faltando você atribuir valores a propriedade ROWS do GRID.
Exemplo:
Veja se é isso.
Exemplo:
While Not TbUser.EOF
FlexHor.Rows = FlexHor.Rows + 1 [txt-color=#007100]<------ Esta linha foi acrescida ao código[/txt-color]
FlexHor.Row = No
FlexHor.Col = 0
For i = 0 To TbUser.Fields.Count - 1
FlexHor.Col = i + 1
FlexHor.Text = IIf(IsNull(TbUser(i)), [Ô][Ô], TbUser(i))
Next
No = No + 1
DoEvents
TbUser.MoveNext
Wend
Veja se é isso.
Acrescentei, mas não deu certo !!!!
Alterei a linha do Inicio do código
E continuou do mesmo geito
Alterei a linha do Inicio do código
Private Sub Exibir_Dados()
Dim i As Integer
[ô]Limpando o FlexGrid para exibição
FlexHor.Clear
[ô]Tratando o erro
On Error Resume Next
If TbUser(0) > 0 Then
FlexHor.Rows = TbUser(0) + 1 [ô]<----Minha Linha Mudada
Else
FlexHor.Rows = 2
End If
[ô]Abre o RecordSet para a tabela selecionada
Set TbUser = Conexao.OpenRecordset([Ô]SELECT Cartao, HEnt, HIntS, HIntE, HSai FROM Usuarios[Ô])
FlexHor.Cols = TbUser.Fields.Count + 1
No = 1
FlexHor.Row = 0
FlexHor.Col = 0
FlexHor.Text = [Ô]Horários[Ô]
For i = 0 To TbUser.Fields.Count - 1
FlexHor.Col = i + 1
FlexHor.Text = TbUser.Fields(i).Name
Next
If TbUser.EOF = False Then
[ô]Abre o nome das colunas para o FlexGrid
While Not TbUser.EOF
FlexHor.Rows = FlexHor.Rows + 1 [ô]<----Sua Linha acrescida
FlexHor.Row = No
FlexHor.Col = 0
For i = 0 To TbUser.Fields.Count - 1
FlexHor.Col = i + 1
FlexHor.Text = IIf(IsNull(TbUser(i)), [Ô][Ô], TbUser(i))
Next
No = No + 1
DoEvents
TbUser.MoveNext
Wend
End If
End Sub
E continuou do mesmo geito
Veja como ficou
MAIS ALGUEM PODE ME AJUDAR?
Fico no aguardo
Fico no aguardo
Pessoal consegui
Muito Obrigado
Tive que criar uma outra conexao com a Tabela e deu CERTO !!!!!!!
VLW......
Muito Obrigado
Tive que criar uma outra conexao com a Tabela e deu CERTO !!!!!!!
VLW......
Tópico encerrado , respostas não são mais permitidas