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 SubUtilizo 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
WendVeja 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 SubE 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