MOSTRAR DADOS DO ACCESS PARA O MSFLEXGRID URGENTE

FILMAN 30/04/2010 13:52:28
#340640
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]
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
TECLA 30/04/2010 14:38:43
#340648
Resposta escolhida
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.
FILMAN 30/04/2010 15:00:44
#340652
Ok

Verifique que esta somente os meus dados e falta os outros
TECLA 30/04/2010 15:08:01
#340654
Acho que está faltando você atribuir valores a propriedade ROWS do GRID.

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.
FILMAN 30/04/2010 15:37:45
#340656
Acrescentei, mas não deu certo !!!!

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
FILMAN 30/04/2010 16:09:53
#340660
Veja como ficou
FILMAN 30/04/2010 18:53:28
#340686
MAIS ALGUEM PODE ME AJUDAR?



Fico no aguardo






FILMAN 30/04/2010 19:12:28
#340688
Pessoal consegui

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