ADO

mfritsch Messages postés 46 Date d'inscription lundi 17 novembre 2003 Statut Membre Dernière intervention 3 mai 2005 - 25 mai 2004 à 15:38
crenaud76 Messages postés 4172 Date d'inscription mercredi 30 juillet 2003 Statut Membre Dernière intervention 9 juin 2006 - 25 mai 2004 à 16:05
Je veux ajouter un enregistrement dans ma base de données, mais il me dit que la mise a jour est impossible, le fichier est en lecture seule. J'ai vérifié dans les propriété du fichier, il n'est pas en lecture seule. Et j'ai essayé les ddiférent curseur, sans reussite. Voici la source:

Set co = New Connection
co.Provider = "Microsoft.jet.OLEDB.4.0"

co.ConnectionString = App.Path + "\bd1.mdb"
co.Open

Private Sub cmdValider_Click()
Dim duree, dat As String

Set rs_audio = New Recordset
rs_audio.Open "SELECT DISTINCT type From audio WHERE type is not null", co, adOpenDynamic, adLockOptimistic

rs_audio.AddNew
rs_audio.Fields("Cote") = txtAudioCote.Text
rs_audio.Fields("Cotenu") = txtAudioCotenu.Text
rs_audio.Fields("Aux") = txtAudioAux.Text
rs_audio.Fields("Invent") = txtAudioInvent.Text
rs_audio.Fields("Recherche") = txtAudioRecherche.Text
duree = txtAudioDureeM.Text + "'" + txtAudioDurees.Text + "''" 'guillemets impossible
rs_audio.Fields("Duree") = duree
rs_audio.Fields("Type") = txtAudioType.Text

If optAudio1.Value = True Then
rs_audio.Fields("Piste") = "<"
Else
rs_audio.Fields("Piste") = ">"
End If

dat = txtAudioJJ.Text + "/" + txtAudioMM.Text + "/" + txtAudioAAAA.Text
rs_audio.Fields("Date") = dat
rs_audio.Fields("Observation") = txtAudioObservation.Text
rs_audio.Fields("Demandeur") = txtAudioDemandeur.Text
rs_audio.Fields("N° Ordre") = txtAudioNumOrdre.Text

rs_audio.Update
rs_audio.Close

MsgBox ("nvelle entrée crée")
End Sub

Merci bcp d'avance

Max

5 réponses

crenaud76 Messages postés 4172 Date d'inscription mercredi 30 juillet 2003 Statut Membre Dernière intervention 9 juin 2006 28
25 mai 2004 à 15:49
Essaye un "rs_Audio.LockType = adLockOptimistic" avant ton rs_Audio.Open, car par défaut il est à adLockReadOnly

Christophe R.
0
crenaud76 Messages postés 4172 Date d'inscription mercredi 30 juillet 2003 Statut Membre Dernière intervention 9 juin 2006 28
25 mai 2004 à 15:53
Excuse !! J'avais pas vu que tu l'avais mis dans le Open, par contre, tu devrais mettre un CursorType à adUseClient, car par défaut il est à adUseServer ce qui pose parfois des pb de ce type. J'ai déjà merder avec cette histoire de cursorLocation

Christophe R.
0
mfritsch Messages postés 46 Date d'inscription lundi 17 novembre 2003 Statut Membre Dernière intervention 3 mai 2005
25 mai 2004 à 15:56
Ca ne change rien, l'erreur est toujours la.

En fait, il me surligne "rs_audio.AddNew", l'erreur viendrait donc de la. De plus, il dit exactement :

"Erreur d'exécution '-2147217911 (80040e09)':

Mise à jour impossible. La base de données ou l'objet est en lecture seule.
0
mfritsch Messages postés 46 Date d'inscription lundi 17 novembre 2003 Statut Membre Dernière intervention 3 mai 2005
25 mai 2004 à 16:05
c'est bon, merci Crenaud76, ca marche ton truc, j'ai encore qques erreurs, mais je vais m'en sortir.

Donc voila, merci encore

Ciao

Max
0

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

Posez votre question
crenaud76 Messages postés 4172 Date d'inscription mercredi 30 juillet 2003 Statut Membre Dernière intervention 9 juin 2006 28
25 mai 2004 à 16:05
Attends un peu !! Tu ne sélectionne qu'un champ de ta table pour remplir ton RS ( "SELECT DISTINCT type From audio WHERE type is not null"), essaye de prendre tous tes champs avec un "SELECT * FROM ..."

Christophe R.
0
Rejoignez-nous