Ir para conteúdo
Fórum Script Brasil
  • 0

ADODB


Azelha

Pergunta

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 para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 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 para o comentário
Compartilhar em outros 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.

Editado por Azelha
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...