Ecrire dans une base de donnée

Tomy_w72 Messages postés 15 Date d'inscription vendredi 8 avril 2005 Statut Membre Dernière intervention 18 mai 2005 - 26 avril 2005 à 07:54
Tomy_w72 Messages postés 15 Date d'inscription vendredi 8 avril 2005 Statut Membre Dernière intervention 18 mai 2005 - 26 avril 2005 à 16:58
bonjour,

je developpe un ptit prog sur l'etude des contrastes visuels et dans ce dernier j utilise une base de donnée pour recuperer les info des patients : nom,prenoms, date de naissance , et n°d'enregistrement.

le ptit pb c est que j arrive pas a créé un nouveau patient(profil : nom.... ) a partir du prog :

dans mon code j ai mis :

patient(1)= TxtIP.text
patient(2)= TxtNom.text
patient(3)= TxtPrenom.text
patient(4)= TxtNaissance.text

data1.databaseName = chemin1 & "\rep1.mdb"
data1.recordsource = "patient"

data1.readonly = false

with data1.recordset.openresordset
.fields ("IP") = patient(1)
.fields ("Nom") = patient(2)
.fields ("Prenom") = patient(3)
.fields ("Naissance") = patient(4)
.update
.bookmark = .lastmodified
end with

pouuriez vous me filler un ptit coup de main car je mis connais pas du tout avec les base de données j ai reussi a faire qqch pour recupérer (chercher ) un patient mais pour en créer un je galére
il me met aussi une erreur de lecture seule avec ce code.

merci d'avance a tous

tomy

4 réponses

jpleroisse Messages postés 1788 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 11 mars 2006 27
26 avril 2005 à 08:43
Je n'utilise pas cette méthode pour travailler sur une BD, donc ceci n'est d'une simple idée en voyant le code. Essaie quand même de cette façon.
with data1.recordset
.AddNew
.fields ("IP") = patient(1)
.fields ("Nom") = patient(2)
.fields ("Prenom") = patient(3)
.fields ("Naissance") = patient(4)
.update
.bookmark = .lastmodified
end with
Data1.RecordSet.MoveNext (ou peut-être directement après .BookMark)

Voilà, mais franchement ce n'est d'une simple idée.

jpleroisse
0
Tomy_w72 Messages postés 15 Date d'inscription vendredi 8 avril 2005 Statut Membre Dernière intervention 18 mai 2005
26 avril 2005 à 09:54
merci pour ton aide mais en fait dès que l execution arrive a

.addnew

j ai un message d erreur :(erreur execution 3027: impossible de mettre a jour.BD en lecture seule)


tomy
0
jpleroisse Messages postés 1788 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 11 mars 2006 27
26 avril 2005 à 14:17
Dans ce cas, je pense que le problème vient de ta BD.
Si tu veux, passe le code entier et on pourra peut-être t'aider.

jpleroisse
0
Tomy_w72 Messages postés 15 Date d'inscription vendredi 8 avril 2005 Statut Membre Dernière intervention 18 mai 2005
26 avril 2005 à 16:58
voila alors j ai modified un peu le code mais c est quasiment la meme chose

patient(1)= TxtIP.text
patient(2)= TxtNomNaissance.text
patient(3)= TxtPrenom.text
patient(4)= TxtNomUsage.text
patient(5)= TxtNaissance.text
patient(6)= Sexe.text

'data1.databaseName = chemin1 & "\rep1.mdb"
'data1.recordsource = "patient"

'data1.readonly = false

with frmPatient.data1

.connect = "provider=microsoft.jet.OLEDB.3.51; Data source= c:\documents.......\rep1.mdb ; persist security info=false"

.recordset.AddNew
.recordset.fields ("IP") = patient(1)
.recordset.fields ("Nom") = patient(2)
.recordset.fields ("Prenom") = patient(3)
.recordset.fields ("Epouse") = patient(4)
.recordset.fields ("Date de naissance") = patient(5)
.recordset.fields ("Sexe") = patient(6)
.recordset .update
.recordset.close
.refresh

end with
end sub

voila j ai mis tout ce que j av ecrit mais le prob c est des que j arrive a l instruction Addnew
j ai un message : erreur instruction 3027 : la BD est en lecture seule....

est ce possible que ce soit les instructions precedente qui utilise la base de donnée pour lire qui provoquerai ce pb ???
si c est ca
il faut mettre koi pour refermer la base et la réouvrir apres pour ecrire ???
juste un .close ???

merci bien pour votre aide

tomy
0
Rejoignez-nous