PB avec Addnew !!!

doomVB Messages postés 30 Date d'inscription mercredi 21 avril 2004 Statut Membre Dernière intervention 26 mai 2004 - 11 mai 2004 à 09:36
nmwiza Messages postés 1 Date d'inscription samedi 24 septembre 2005 Statut Membre Derniè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 !!

Si qqun à une idée merci d'avance !

D'jo

8 réponses

cs_PhilippeE Messages postés 437 Date d'inscription mercredi 18 décembre 2002 Statut Membre Dernière intervention 10 août 2010 2
11 mai 2004 à 09:53
Si tu utilises les options d'ouverture par défaut des recordset, tu as des objets en lecture seule.
0
blissdumpweed Messages postés 79 Date d'inscription jeudi 15 avril 2004 Statut Membre Derniè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
0
doomVB Messages postés 30 Date d'inscription mercredi 21 avril 2004 Statut Membre Dernière intervention 26 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 ?

Merci
D'jo
0
blissdumpweed Messages postés 79 Date d'inscription jeudi 15 avril 2004 Statut Membre Derniè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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
doomVB Messages postés 30 Date d'inscription mercredi 21 avril 2004 Statut Membre Dernière intervention 26 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 !

Est-ce que vous avez une solution ?

D'jo
0
blissdumpweed Messages postés 79 Date d'inscription jeudi 15 avril 2004 Statut Membre Derniè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

Et ca y est j'ai mon nouvel enregistrement !

Peut être que ca pourra t'aider !
0
doomVB Messages postés 30 Date d'inscription mercredi 21 avril 2004 Statut Membre Dernière intervention 26 mai 2004
11 mai 2004 à 11:12
DoomVB

merci je vais essayer !
a+

D'jo
0
nmwiza Messages postés 1 Date d'inscription samedi 24 septembre 2005 Statut Membre Dernière intervention 2 avril 2008
29 oct. 2005 à 23:59
Salut everybody
0
Rejoignez-nous