COMO FAZER O RELACIONAMENTO UM PARA MUITOS?
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
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
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
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
VBAPRENDE,
Como ficaria loop com o codigo, agradeceria se postasse um exemplo
jair
Como ficaria loop com o codigo, agradeceria se postasse um exemplo
jair
Tópico encerrado , respostas não são mais permitidas