jcheseaux
Messages postés37Date d'inscriptionsamedi 24 mai 2003StatutMembreDernière intervention26 juin 2006
-
26 juin 2006 à 10:03
cs_pluplu
Messages postés615Date d'inscriptionmercredi 18 décembre 2002StatutMembreDerniè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.
cs_pluplu
Messages postés615Date d'inscriptionmercredi 18 décembre 2002StatutMembreDerniè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.