REGISTRO NO VB

USUARIO.EXCLUIDOS 03/06/2005 07:34:46
#86723
Estou fazendo um form no Visual Basic e preciso saber se tem como eu pegar registros de duas tabelas, isto é, como se fosse um linkmento. Exemplo disso é: Pegar na minha tabela de Inquilino e da tabela Fiador os respectivos nomes, telefones (comerciais, residenciais e celulares).

O meu form tem as seguintes informações:

2 frames

- Frame Inquilino
- Frame Fiador

No frame Inquilino tem os campos:

Nome, Telefone_Residencial, Telefone_comercial, Celular

No Frame Fiador tem os Campos:

Nome, Telefone_Residencial, Telefone_comercial, Celular

E os button's Imprimir, Fechar, Próximo, Anterior

Então resumidamente dizendo:

Desejo saber se tem como eu toda vez que passar de registro de inquilino o registro de Fiador segue conforme o seu linkamento?!! Inquilino correspondendo c/ Fiador!! Isso tem como fazer?!!

A Rotina que fiz está assim:

Option Explicit

Dim WithEvents rs_imobiliaria As ADODB.Recordset

Dim strsql As String



Private Sub apresentar_imobiliaria()



Screen.MousePointer = 11



Call AbrirConexaoAccess



On Error GoTo trata_erro



Set rs_imobiliaria = New ADODB.Recordset

rs_imobiliaria.CursorLocation = adUseClient

' strsql = "SELECT * FROM Proprietario WHERE Endereco_Residencial LIKE '%" _

' & txt_consulta_Endereco.Text & "%'"

strsql = "SELECT t1.*, t2.* FROM inquilino as t1, fiador as t2 where ((t1.idfiador=t2.id) and (t1.nome='%" & txt_Nome.Text & "%'))"



rs_imobiliaria.Open strsql, cn_access, adOpenDynamic, adLockOptimistic

rs_imobiliaria.ActiveConnection = Nothing



Call FecharConexaoAccess



Screen.MousePointer = 0



Exit Sub



trata_erro:



Call FecharConexaoAccess

Screen.MousePointer = 0

MsgBox Err.Number & vbCrLf & Err.Description



End Sub



Private Sub cmd_fechar_Click()



Unload Me



End Sub



Private Sub cmd_imprimir_Click()



MsgBox ("Em Desenvolvimento! Arguarde!")



End Sub



Private Sub cmd_pag_anterior_Click()

rs_imobiliaria.MoveMax

End Sub



Private Sub cmd_pag_posterior_Click()

rs_imobiliaria.MoveNext

End Sub



Private Sub Form_Load()



Me.Top = 590

Me.Left = 0



Call apresentar_imobiliaria



End Sub



Private Sub rs_imobiliaria_MoveComplete(ByVal adReason As ADODB.EventReasonEnum, _

ByVal pError As ADODB.Error, adStatus _

As ADODB.EventStatusEnum, _

ByVal pRecordset As ADODB.Recordset)



On Error GoTo trata_erro

Screen.MousePointer = 11

If rs_imobiliaria.BOF = False _

And rs_imobiliaria.EOF = False Then

Screen.MousePointer = 11

txt_Nome.Text = rs_imobiliaria!Nome

' txt_Endereco_Residencial.Text = rs_imobiliaria!Endereco_Residencial

' txt_Endereco_Trabalho.Text = rs_imobiliaria!Endereco_trabalho

txt_Telefone_Residencial.Text = rs_imobiliaria!Telefone_residencial

txt_Telefone_Comercial.Text = rs_imobiliaria!Telefone_comercial

txt_Celular(0).Text = rs_imobiliaria!Celular

' txt_Fax.Text = rs_imobiliaria!Fax

' Cmb_Estado_Civil.Text = rs_imobiliaria!Estado_civil

' txt_Identidade.Text = rs_imobiliaria!Identidade

' txt_CPF.Text = rs_imobiliaria!CPF

' txt_Profissao.Text = rs_imobiliaria!Profissao

Else

MsgBox "Registro não Encontrado!" & vbCrLf

Call Limpar

End If

Screen.MousePointer = 0

Exit Sub

trata_erro:

Screen.MousePointer = 0

MsgBox Err.Number & vbCrLf & Err.Description



End Sub



Private Sub Limpar()



'

' txt_Nome.Text = "----------"

' txt_Endereco_Residencial(0).Text = "----------"

' txt_Endereco_Trabalho.Text = "----------"

' txt_Telefone_Residencial.Text = "----------"

' txt_Telefone_Comercial.Text = "----------"

' txt_Celular.Text = "----------"

' txt_Fax.Text = "----------"

' Cmb_Estado_Civil.Text = "Escolha o Estado Civil"

' txt_Identidade.Text = "----------"

' txt_CPF.Text = "----------"

' txt_Profissao.Text = "----------"



End Sub
[txt-color=#ff0000]
Obrigado desde já!![/txt-color]
JEAN.JEDSON 03/06/2005 07:46:19
#86726
tente assim:

strSQL = "SELECT Inquilino.Nome, Inquilino.Telefone_Residencial, Inquilino.Telefone_comercial, Inquilino.Celular, Fiador.Nome, Fiador.Telefone_Residencial, Fiador.Telefone_comercial, Fiador.Celular FROM Inquilino INNER JOIN Fiador ON Fiador.CodigoFiador = Inquilino.CodigoFiador WHERE Inquilino.Nome LIKE '%" & txtNome.Text & "%'"
Tópico encerrado , respostas não são mais permitidas