Utilisation de Adodc

jcheseaux Messages postés 37 Date d'inscription samedi 24 mai 2003 Statut Membre Dernière intervention 26 juin 2006 - 26 juin 2006 à 10:03
cs_pluplu Messages postés 615 Date d'inscription mercredi 18 décembre 2002 Statut Membre Dernière intervention 4 juillet 2012 - 26 juin 2006 à 19:46
Bonjour ! J'aurais qques question quant à l'utilisation de Adodc

Je programme actuellement un petit agenda avec rappel et anniversaire, j'utilise donc une base de donnée gérée par adodc. Pour récupérer les données, j'ai dû bricoler : j'ai mis qques text box sur ma form, et je les ai lié à adodc avec datafield et datasource. Ce qui m'amène à ma première question :

Est-il possible de récupérer directement dans une variable les enregistrement dans un adodc ? Sans passer par un textbox ?

Mon deuxième problème, c'est que j'utilise 2 controles adodc pour gérer 2 tables différentes au seins d'une même base de données. J'ai essayé d'en utiliser qu'un en réglant le recordsource de l'adodc, mais je pense que ce n'est pas permis lorsque le programme est déja lancé.

Faut-il nécessairement déconnecter et se reconnecter à la base pour changer de table ?

Je remercie déja énormément celui qui pourra m'éclaircir ces 2 points !
Jonathan.

1 réponse

cs_pluplu Messages postés 615 Date d'inscription mercredi 18 décembre 2002 Statut Membre Dernière intervention 4 juillet 2012
26 juin 2006 à 19:46
Tu peux tout à fait travailler avec un seul contrôle ADODC sur ton Form voici un petit exemple :

'On déclare dans un module la variable de connection
Dim sConnection as string

Public Sub InitDB()
Dim Database_File as string
Database_File = App.Path & "" & MaBase.mdb
sConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= " _
& Database_File & ";Mode=ReadWrite;Persist Security Info=False"
End Sub



Private Sub ChercheRecord()
Dim IDContrat as long
Dim Sqlstr as string

InitDB 'On initialise la liaison avec la DB
'Requête sur la table client je sélectionne le client dont l'ID est 255
SqlStr " SELECT * from Client Where Client.IDClient 255"
With Adodc1
.ConnectionString = sConnection
.RecordSource = SqlStr
End With
Adodc1.Refresh
'Maintenant on affecte le champ ContratNo à notre variable
IdContrat = Adodc1.recordset.fiel![ContratNo].value
'Maintenant ou peut reparametrer le contrôle ADODC pour une nouvelle
'requête sur une autre table.
SqlStr " SELECT * from Contrat Where Contrat.IDContrat " & IdContrat
With Adodc1
.ConnectionString = sConnection
.RecordSource = SqlStr
End With
Adodc1.Refresh
end Sub

Voila en fait la propriété ConnectionString reste la même puisque la base de donnée ne change pas.

Seul le recordsource change via la commande SQL
0
Rejoignez-nous