OVH Cloud OVH Cloud

incompatibilité de type

4 réponses
Avatar
Ray
Bonjour,

Je n'arrive pas à comprendre un pb que l'on m'a soumis, pourriez vous
m'aider s'il vous plaît. Dans une base il y a un formulaire basé sur une
table. Ce formulaire comporte plusieurs boutons dont un qui permet d'ajouter
des enregistrements. Lorsque l'on clique sur le bouton ajouter on obtient le
msg Incompatibilité de type.

l'erreur se fait sur la ligne : Set mon_record =
ma_bd.OpenRecordset("Questions", dbOpenDynaset)

=> redirection sur Err_Bouton_Ajout_QR_Click : message : "Incompatibilité de
Type"



Voici ci-dessous le code correspondant :







Private Sub Bouton_Ajout_QR_Click()

On Error GoTo Err_Bouton_Ajout_QR_Click



Dim ma_bd As Database, mon_record As Recordset



If (IsNull(Nlle_QR_Memo)) Then

MsgBox "Le texte est vide"

Exit Sub

End If

If (IsNull(Nlle_QR_Destinataire)) Then

MsgBox "Le destinataire doit être saisi"

Exit Sub

End If

If (IsNull(Nlle_QR_Expediteur)) Then

MsgBox "L'expéditeur doit être renseigné"

Exit Sub

End If





Set ma_bd = CurrentDb

Set mon_record = ma_bd.OpenRecordset("Questions", dbOpenDynaset)

mon_record.AddNew

mon_record![Question_Index] = Question_Index

mon_record![QR_memo] = Nlle_QR_Memo

mon_record![QR_Expediteur] = Nlle_QR_Expediteur

mon_record![QR_Destinataire] = Nlle_QR_Destinataire

mon_record.Update

DoCmd.Close

Forms![Question].Refresh



Exit_Bouton_Ajout_QR_Click:

Exit Sub



Err_Bouton_Ajout_QR_Click:

MsgBox Err.Description

Resume Exit_Bouton_Ajout_QR_Click



End Sub


merci par avance pour votre aide

Ray

4 réponses

Avatar
Raymond [mvp]
Bonjour.
c'est plutôt touffu ton code.
pourquoi utiliser un recordset alors que tu es sur un formulaire, la source
de ce formulaire n'est pas cette table ?

faire une modif:
Dim ma_bd As DAO.Database, mon_record As DAO.Recordset
Set mon_record = ma_bd.OpenRecordset("Questions")
vérifier que la référence dao3.6 est bien cochée et précède les références
ado éventuelles.

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Ray" a écrit dans le message de news:

Bonjour,

Je n'arrive pas à comprendre un pb que l'on m'a soumis, pourriez vous
m'aider s'il vous plaît. Dans une base il y a un formulaire basé sur une
table. Ce formulaire comporte plusieurs boutons dont un qui permet
d'ajouter
des enregistrements. Lorsque l'on clique sur le bouton ajouter on obtient
le
msg Incompatibilité de type.

l'erreur se fait sur la ligne : Set mon_record > ma_bd.OpenRecordset("Questions", dbOpenDynaset)

=> redirection sur Err_Bouton_Ajout_QR_Click : message : "Incompatibilité
de
Type"



Voici ci-dessous le code correspondant :







Private Sub Bouton_Ajout_QR_Click()

On Error GoTo Err_Bouton_Ajout_QR_Click



Dim ma_bd As Database, mon_record As Recordset



If (IsNull(Nlle_QR_Memo)) Then

MsgBox "Le texte est vide"

Exit Sub

End If

If (IsNull(Nlle_QR_Destinataire)) Then

MsgBox "Le destinataire doit être saisi"

Exit Sub

End If

If (IsNull(Nlle_QR_Expediteur)) Then

MsgBox "L'expéditeur doit être renseigné"

Exit Sub

End If





Set ma_bd = CurrentDb

Set mon_record = ma_bd.OpenRecordset("Questions", dbOpenDynaset)

mon_record.AddNew

mon_record![Question_Index] = Question_Index

mon_record![QR_memo] = Nlle_QR_Memo

mon_record![QR_Expediteur] = Nlle_QR_Expediteur

mon_record![QR_Destinataire] = Nlle_QR_Destinataire

mon_record.Update

DoCmd.Close

Forms![Question].Refresh



Exit_Bouton_Ajout_QR_Click:

Exit Sub



Err_Bouton_Ajout_QR_Click:

MsgBox Err.Description

Resume Exit_Bouton_Ajout_QR_Click



End Sub


merci par avance pour votre aide

Ray




Avatar
Françoise Labis
DoCmd.GoToRecord , , acNewRec

juste cette commande ne suffit-elle pas si c'est juste pour ajouter un
enregistrement? ou j'ai mal compris.

Françoise

"Raymond [mvp]" a écrit dans le message de
news:
Bonjour.
c'est plutôt touffu ton code.
pourquoi utiliser un recordset alors que tu es sur un formulaire, la
source de ce formulaire n'est pas cette table ?

faire une modif:
Dim ma_bd As DAO.Database, mon_record As DAO.Recordset
Set mon_record = ma_bd.OpenRecordset("Questions")
vérifier que la référence dao3.6 est bien cochée et précède les références
ado éventuelles.

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Ray" a écrit dans le message de news:

Bonjour,

Je n'arrive pas à comprendre un pb que l'on m'a soumis, pourriez vous
m'aider s'il vous plaît. Dans une base il y a un formulaire basé sur une
table. Ce formulaire comporte plusieurs boutons dont un qui permet
d'ajouter
des enregistrements. Lorsque l'on clique sur le bouton ajouter on obtient
le
msg Incompatibilité de type.

l'erreur se fait sur la ligne : Set mon_record >> ma_bd.OpenRecordset("Questions", dbOpenDynaset)

=> redirection sur Err_Bouton_Ajout_QR_Click : message : "Incompatibilité
de
Type"



Voici ci-dessous le code correspondant :







Private Sub Bouton_Ajout_QR_Click()

On Error GoTo Err_Bouton_Ajout_QR_Click



Dim ma_bd As Database, mon_record As Recordset



If (IsNull(Nlle_QR_Memo)) Then

MsgBox "Le texte est vide"

Exit Sub

End If

If (IsNull(Nlle_QR_Destinataire)) Then

MsgBox "Le destinataire doit être saisi"

Exit Sub

End If

If (IsNull(Nlle_QR_Expediteur)) Then

MsgBox "L'expéditeur doit être renseigné"

Exit Sub

End If





Set ma_bd = CurrentDb

Set mon_record = ma_bd.OpenRecordset("Questions", dbOpenDynaset)

mon_record.AddNew

mon_record![Question_Index] = Question_Index

mon_record![QR_memo] = Nlle_QR_Memo

mon_record![QR_Expediteur] = Nlle_QR_Expediteur

mon_record![QR_Destinataire] = Nlle_QR_Destinataire

mon_record.Update

DoCmd.Close

Forms![Question].Refresh



Exit_Bouton_Ajout_QR_Click:

Exit Sub



Err_Bouton_Ajout_QR_Click:

MsgBox Err.Description

Resume Exit_Bouton_Ajout_QR_Click



End Sub


merci par avance pour votre aide

Ray








Avatar
Raymond [mvp]
on ne sait pas si la table du recordset est la source du formulaire .

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Françoise Labis" a écrit dans le message de
news:
DoCmd.GoToRecord , , acNewRec

juste cette commande ne suffit-elle pas si c'est juste pour ajouter un
enregistrement? ou j'ai mal compris.

Françoise



Avatar
Ray
Bonjour,
Avec la déclaration explicite DAO. ça a marché :

j'ai alors modifié l'ordre des bibliothèques : pour que DAO soit quasi en
tête, et enlevé la déclaration explice DAO. :

ça marche

=> c'est donc un conflit de type dans les library par rapport au type
Recordset défini dans plusieurs library

je transmet le merci de la part d'un utilisateur satisfait.

Merci encore

Ray



"Raymond [mvp]" a écrit dans le message de
news:
on ne sait pas si la table du recordset est la source du formulaire .

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Françoise Labis" a écrit dans le message de
news:
DoCmd.GoToRecord , , acNewRec

juste cette commande ne suffit-elle pas si c'est juste pour ajouter un
enregistrement? ou j'ai mal compris.

Françoise