Pb de base de donné

cs_marmotte Messages postés 2 Date d'inscription mercredi 24 avril 2002 Statut Membre Dernière intervention 24 avril 2002 - 24 avril 2002 à 19:40
cs_gimi Messages postés 5 Date d'inscription mardi 5 février 2002 Statut Membre Dernière intervention 25 avril 2002 - 25 avril 2002 à 10:09
j'ai une erreur sur la methode addnew d'un recordset

erreur de complialtion parce qu'un recordset definit a partir d'une requete sql serait en lecture seul

les options de la methode openrecordset sont toutes par defaut
jai essayé de les modifier ca marche pas mieux a moins que je me soi trompe de type de recordset et/ou de choix de verouillage

j'espere que quelqu'un pourra m'aider

merci d'avance

adidez moi svp

4 réponses

cs_pimousse75 Messages postés 138 Date d'inscription jeudi 17 janvier 2002 Statut Membre Dernière intervention 22 octobre 2002
24 avril 2002 à 20:31
sans ton code c'est impossible !
0
cs_marmotte Messages postés 2 Date d'inscription mercredi 24 avril 2002 Statut Membre Dernière intervention 24 avril 2002
24 avril 2002 à 23:39
Dim rsmajsportprat As Recordset
tsql = "select pratiquer.[num adher],pratiquer.[num sport],pratiquer.[num lic] from pratiquer, sport where pratiquer.[num sport]=sport.[num sport]"
Set rsmajsportprat = bdsport.OpenRecordset(tsql)
For i = 0 To Listsportpratiqué.ListCount - 1
intnumsport = TrouvNumSport(Listsportpratiqué.List(i))
intnumlic = Listn°licence.List(i)
rsmajsportprat.AddNew
rsmajsportprat![num adher] = CInt(ztnumadh.Text)
rsmajsportprat![num sport] = CInt(intnumsport)
rsmajsportprat![num lic] = CStr(intnumlic)
Next i

If vbYes = MsgBox("Etes-vous sur de vouloi modifier la base de donnée", vbYesNo, "ATTENTION") Then
rsmajsportprat.Update
If Fparamètres.Checkbeep.Value = 1 Then Beep
Else
rsmajsportprat.CancelUpdate
End If
0
cs_pimousse75 Messages postés 138 Date d'inscription jeudi 17 janvier 2002 Statut Membre Dernière intervention 22 octobre 2002
25 avril 2002 à 08:45
Je me demande si cela ne vient pas du fait que c'est davantage un update qu'un addnew... Dans le MSDN j'ai trouvé cela !

Function AddName(rstTemp As Recordset, _
strFirst As String, strLast As String)

' Ajoute un nouvel enregistrement dans un objet
' Recordset avec les données passées par
' la procédure appelante. Le nouvel enregistrement
' devient l'enregistrement en cours.
With rstTemp
.AddNew
!Prénom = strFirst
!Nom = strLast
.Update
.Bookmark = .LastModified
End With

End Function

Jette un coup d'oei sinon je vois pas trop...
0
cs_gimi Messages postés 5 Date d'inscription mardi 5 février 2002 Statut Membre Dernière intervention 25 avril 2002
25 avril 2002 à 10:09
Slt!
Dans ton code, tu ouvre un RS en Select avec une jointure. Ensuite tu veux ajouter des enregistrement (ADDNEW) à ce meme RS.
C'est impossible. Un addnew se fait sur une table et non sur une vue avec jointure.

Soi tu veux vraiment faire un ajout et tu dois procéder autrement. Soi tu veux faire de la maj et tu utilises le update. Mais les requetes avec jointure n'acceptent pas les UPDATE, CREATE (ADDNEW) ou DELETE.

Bon courage
0
Rejoignez-nous