COMO FAZER O RELACIONAMENTO UM PARA MUITOS?

JAIR2002 19/04/2010 18:27:13
#339741
Pessoal
Alguém sabe onde esta o erro deste commando sql, o mesmo é de três tabelas relacionadas um para muitos tblFlagrante tblCondutor e tblDetalhesAdicionaisDoCondutor

Campos Chaves CodFlagrante – CodCondutor

O que acontece é que não mostra todos os condutores de um determinado flagrante. Mostra no form apenas um registro e dessa forma: Registro – 1 de -1 mesmo tendo vários registros relacionados.
Alguém pode me ajudar?

Eis o codigo

Private Sub MostraDados()
Dim strSql As String
Set rs = New ADODB.Recordset

strSql = [Ô]SELECT tblCondutor.CodCondutor, TblDetalhesAdicionaisDoCondutor.CodFlagrante, TblDetalhesAdicionaisDoCondutor.Historico, tblCondutor.CondutorNome, tblCondutor.ConSexo, tblCondutor.CondutorRaça, tblCondutor.CondutorIdade, tblCondutor.CondutorNatur, tblCondutor.CondutorTelefone, tblCondutor.CondutorNacionalidade, tblCondutor.CondutorNasc, tblCondutor.CondutorEstCivil, tblCondutor.CondutorProfis, tblCondutor.CondutorIndent, tblCondutor.CondutorNomePai, tblCondutor.CondutorNomeMae, tblCondutor.CondutorEnd,TblDetalhesAdicionaisDoCondutor.Historico[Ô]
strSql = strSql & [Ô] FROM tblCondutor INNER JOIN TblDetalhesAdicionaisDoCondutor ON tblCondutor.CodCondutor = TblDetalhesAdicionaisDoCondutor.CodCondutor[Ô]
strSql = strSql & [Ô] Where TblDetalhesAdicionaisDoCondutor.CodFlagrante =[Ô] & Val(txtCodigo(1).Text) [ô]Like [ô]%[Ô] & txtCodigo(1).Text & [Ô]%[ô][Ô]



rs.Open strSql, cnn, adOpenDynamic, adLockOptimistic

With rs
If .BOF = False And .EOF = False Then

txtCod(1).Text = !CodCondutor
Cptcod.Caption = [Ô]CODIGO: 00000[Ô] & txtCod(1).Text
If Not IsNull(!CondutorNome) Then
cbNome = !CondutorNome
Else
cbNome.Text = [Ô][Ô]
End If

If Not IsNull(!CondutorEstcivil) Then
cbxEstadoCivil(0) = !CondutorEstcivil
Else
cbxEstadoCivil(0).Text = [Ô][Ô]
End If

If Not IsNull(!CondutorRaça) Then
cbxRaça(0) = !CondutorRaça
Else
cbxRaça(0).Text = [Ô][Ô]
End If
If Not IsNull(!ConSexo) Then
cbxSexo(0) = !ConSexo
Else
cbxSexo(0).Text = [Ô][Ô]
End If

If Not IsNull(!CondutorIndent) Then
txtIdentificaçao(0) = !CondutorIndent
Else
txtIdentificaçao(0).Text = [Ô][Ô]
End If

If Not IsNull(!CondutorNacionalidade) Then
txtNacionalidade(0) = !CondutorNacionalidade
Else
txtNacionalidade(0).Text = [Ô][Ô]
End If

If Not IsNull(!CondutorNatur) Then
txtNaturalidade(0) = !CondutorNatur
Else
txtNacionalidade(0).Text = [Ô][Ô]
End If

If Not IsNull(!CondutorNasc) Then
MaskDataNascimento(0) = !CondutorNasc
Else
MaskDataNascimento(0).Text = [Ô][Ô]
End If

If Not IsNull(!CondutorTelefone) Then
txtFone = !CondutorTelefone
Else
txtFone.Text = [Ô][Ô]
End If

If Not IsNull(!CondutorProfis) Then
txtProfissao(0) = !CondutorProfis
Else
txtProfissao(0).Text = [Ô][Ô]
End If

If Not IsNull(!CondutorNomeMae) Then
txtNomeMae(0) = !CondutorNomeMae
Else
txtNomeMae(0).Text = [Ô][Ô]
End If
If Not IsNull(!CondutorNomePai) Then
txtNomeDoPai(0) = !CondutorNomePai
Else
txtNomeDoPai(0).Text = [Ô][Ô]
End If
If Not IsNull(!CondutorEnd) Then
txtEndereco(0) = !CondutorEnd
Else
txtEndereco(0).Text = [Ô][Ô]
End If

If Not IsNull(!Historico) Then
RichTextBo.Text = !Historico
Else
RichTextBo.Text = [Ô][Ô]
End If

End If


End With

End Sub
VBAPRENDE 19/04/2010 22:27:20
#339753
pelo que estou vendo no código você não esta fazendo nenhum loop para carregar as outras informações.
Nesse caso ai você só esta listando o primeiro registro nos textbox.

qualquer duvida adicione no msn: ramister_roo@hotmail.com para vermos melhor esse caso em especifico
JAIR2002 20/04/2010 20:42:27
#339824
VBAPRENDE,

Como ficaria loop com o codigo, agradeceria se postasse um exemplo

jair
Tópico encerrado , respostas não são mais permitidas