Jump to content
Fórum Script Brasil
  • 0

ADODB


Azelha

Question

Boa tarde a todos.

Tenho um projecto Access, "caseiro" em mãos composto por tblTeste, (campos, ID(Chave primária), Campo1 e Campo2) e tblProduto (ID (Duplicação autorizada) Marca e Modelo).

A tblTeste ligada frmRegista e tblProduto ao sub/frmProduto por ADODB.

O que pretendo é relacionar as tabelas / formulários por forma a preencher ou visualizar os dados nas tabela.

frmRegista

Private Sub Form_Load()
Set cnx = New ADODB.Connection
cnx.ConnectionString = "Provider=Microsoft.Jet.Oledb.4.0; Data Source = C:\Users\daddy\Desktop\tstConectaAdo\dbConnecta.mdb"
cnx.Open
Set rst = New ADODB.Recordset
rst.Open "select * from tblTeste", cnx, adOpenStatic, adLockReadOnly
rst.MoveLast
carrega

End Sub
frmProduto
Dim cnn As ADODB.Connection
Dim rs As ADODB.Recordset
Private Sub Form_Load()
Set cnn = New ADODB.Connection
cnn.ConnectionString = "Provider=Microsoft.Jet.Oledb.4.0; Data Source = C:\Users\daddy\Desktop\tstConectaAdo\dbConnecta.mdb"
cnn.Open
Set rs = New ADODB.Recordset
rs.Open "select * from tblProduto", cnn, adOpenDynamic, adLockReadOnly

txtMarca = rs.Fields(2)
txtModelo = rs.Fields(3)
End Sub

Um dos casos que "desejo" ser elucidado o frmProduto é um formulário de dados ou contínuo. Para o testar preenchi a tabela respeitante com alguns registos (ID duplicavel) no entanto ele apenas apresenta o primeiro registo ou seja apenas abre uma célula.

Obrigado pela atençaõ prestada.

Link to comment
Share on other sites

2 answers to this question

Recommended Posts

  • 0

Movido para Visual Basic.

Azelha, você teria que percorrer o RecordSet pra acessar todos os registros, com MoveNext.

Só que não entendi onde você quer mostrá-los. Se você só tem um TextBox pra cada campo, você só pode mostrar 1 registro por vez.

Mas o código seria esse:

rs.Open "select * from tblProduto", cnn, adOpenDynamic, adLockReadOnly

Do While Not rs.EOF '//Enquanto não chegar ao final do Arquivo
    txtMarca = rs.Fields(2) '//Leio os campos
    txtModelo = rs.Fields(3)

    rs.MoveNext '//Movo ao próximo Registro
Loop[/code]

Só que, no exemplo, ele vai percorrer todos e o usuário só verá o último.

Link to comment
Share on other sites

  • 0

O que é que eu tenho:

Imagine que tem duas tabelas access, relacionadas "um, para muitos" e pretende preencher essas tabelas e / ou mostrar o seu conteudo através dum formulário e de um Subformulário_de_Dados "Grid".

............. tblProdutos ................. tblMarca

ID 1 Computador .................. ID 1 ....... Toshiba

............................................... ID 1 ....... Asus

............................................... ID 1 ....... Acer

ID 2 Aspirador .................... ID 2 ....... Ariston

.............................................. ID 2 ....... Hoover

.............................................. ID 2 ....... Teka

O que se está a passar:

No subformulário "Grid", não consigo apresentar os 3 ID's da tblMarca, só mostra o primeiro e como não tenho ligação entre os formulários, os botões de navegação, não tem qualquer acção sobre o subformulário

O que eu pretendo:

Essencialmente fazer a ligação / sincronia entre o formulário e subformulário, como se de um só se tratasse, por forma a preencher / mostrar o conteúdo das tabelas

Obrigado.

Edited by Azelha
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...