Relazione tra access e vb

di il
3 risposte

Relazione tra access e vb

Ciao a tutti,
ho un piccolo problema a mettere in relazione le tabelle che ho creato in access.
Le tabelle coi relativi campi sono:

acquisti(idAcquisto,idFornitore,idProdotto,prezzoacquisto,quantita,iva,)
fornitori(idFornitore,ragionesociale,indirizzo,citta,telefono)
prodotto(idProdotto,scorta,descrizione,marca)


Ho provato a mettere in relazione le suddette tabelle nel seguente modo:

Private Sub Data2_Reposition()
Data2.RecordSource = "select * from fornitori where idfornitore = Data1.Recordset.idfornitore "
End Sub

Private Sub Data3_Reposition()
Data3.RecordSource = "select * from prodotto where idprodotto = Data1.Recordset.idprodotto "
End Sub

(data1 è collegato con la tabella acquisti, data2 con la tabella fornitori e data3 con la tabella prodotto).

Come vedete, ho utilizzato sql per creare queste relazioni, ma non riesco a capire dove sbaglio.


Grazie

3 Risposte

  • Re: Relazione tra access e vb

    Ciao.. ci sono un po' di errori nel codice che hai scritto:

    1) non confondere mai le stringhe da metodi di visual basic:

    Data2.RecordSource = "select * from fornitori where idfornitore = " & Data1.Recordset.idfornitore & ";"

    2) l'operatore * è valido nell'sql di access.. ma non so se funziona anche nelle query scritte da vb..

    3) la stringa dell'sql si termina sempre con un ; finale.. questo in access è facoltativo.. ma da vb no...

    Saluti...

    Intel
  • Re: Relazione tra access e vb

    Ciao intel,
    ho fatto come mi hai suggerito, ma mi viene dato il seguente messaggio di errore:

    "Variabile oggetto o variabile di blocco with non impostata".

    Facendo il debug dà l'errore sulla seguente linea di codice:

    Data2.RecordSource = "select * from fornitori where idfornitore = " & Data1.Recordset.idfornitore & ";"
  • Re: Relazione tra access e vb

    Ho risolto il problema:

    visto che devo collegare le tabelle fornitori e prodotto con quella acquisti si deve usare data1_reposition e non data2_reposition e data3_reposition; in questo modo quando mi sposto tra i record della tabella acquisti, automaticamente mi visualizza il corrispondente record nelle tabelle fornitori e prodotto. Ecco il codice:

    Private Sub Data1_Reposition()
    Data2.RecordSource = "select * from fornitori where idfornitore = " & Data1.Recordset.idfornitore & ";"

    Data3.RecordSource = "select * from prodotto where idprodotto = " & Data1.Recordset.idprodotto & ";"
    End Sub

    ciao a tutti
Devi accedere o registrarti per scrivere nel forum
3 risposte