doomVB
Messages postés30Date d'inscriptionmercredi 21 avril 2004StatutMembreDernière intervention26 mai 2004
-
11 mai 2004 à 09:36
nmwiza
Messages postés1Date d'inscriptionsamedi 24 septembre 2005StatutMembreDernière intervention 2 avril 2008
-
29 oct. 2005 à 23:59
Salut everybody,
j'itilise DAO et mon application sert à lire une base de donnéees et à remplir mes textbox avec la valeur des champs de ma table.
J'arrive à ma déplacer dans ma base de données, avec un objet data, et à voir mes enregistrements mais je n'arrive pas à en ajouter avec addnew, que j'utilise par un bouton.
J'arrive à supprimer mes enregistrements mais c'est toujours le premier qui est supprimé et jamais celui en cours !! Je suppose que les 2 pb sont liés !!
blissdumpweed
Messages postés79Date d'inscriptionjeudi 15 avril 2004StatutMembreDernière intervention 8 juin 2004 11 mai 2004 à 09:56
il faut d'abord que tu face une requête SELECT par rapport à l'enregistrement en cours. Et après tu utilises la propriété DELETE. Enfin, moi j'utilise les ADODC et c'est comme ce que ca marche, donc il n'y a pas de raisons
doomVB
Messages postés30Date d'inscriptionmercredi 21 avril 2004StatutMembreDernière intervention26 mai 2004 11 mai 2004 à 10:06
Pour déclarer et instancier mon recordset et ma DB j'utilise le code suivant:
Dim DB As DAO.Database
Dim rs As DAO.Recordset
Set DB = OpenDatabase(Dialog1.CommonDialog1.FileName, , True)
Set rs = DB.OpenRecordset("Select * From " & NomTable, dbOpenDynaset)
Et le nom de la table je le demande au user.
En fait le truc c'est que addnew doit marcher ( car je n'ai pas d'erreur quand je clic sur mon bouton ajouter) mais mes textbox restent avec la valeur de l'enregistrement en cours alors je devrais avoir mes textbox vident, correspondants à un nouvel enregistrement !
Sinon comment je dois faire pour sélectionner l'enregistrement en cours ?
blissdumpweed
Messages postés79Date d'inscriptionjeudi 15 avril 2004StatutMembreDernière intervention 8 juin 2004 11 mai 2004 à 10:23
Pour sélectionner l'enregistrement en cours tu peux faire :
"SELECT * FROM MaTAble Where MonChamps=" Text1.Text
On dit que Text1.text contient la clé primaire de ton enregistrement
Vous n’avez pas trouvé la réponse que vous recherchez ?
doomVB
Messages postés30Date d'inscriptionmercredi 21 avril 2004StatutMembreDernière intervention26 mai 2004 11 mai 2004 à 11:00
DoomVB
Ok, j'ai essayé ça marche mais je n'arrive toujours pas àrajouter un enregistrement !
Je remplis plusieurs champs grâce à ma base de données et j'utilise juste recordset.addnew!
En fait il faut que je cré une nouvelle ligne vide dans ma table puis que j'affiche mes champs vides, que je dois compléter !
blissdumpweed
Messages postés79Date d'inscriptionjeudi 15 avril 2004StatutMembreDernière intervention 8 juin 2004 11 mai 2004 à 11:04
si tu veux moi je te mets mes instructions avec les ADODC :
ado.commandtype=adcmdtext
ado.recordsource="select * from MaTable where MonChamps = " & Text1.Text
ado.refresh
ado.recordset.addnew
ado.recordset.fields(0) = "Ce que tu veux pour le 1er champs de ta table"
ado.recordset.fields(1) = "ce que tu veux pour le deuxième champs de ta table"
... Pareil pour chaque champs ...
ado.recordset.update
ado.refresh