Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Curieux message d'erreur sur un ajout d'enregistrement à une liste déroulante

6 réponses
Avatar
fredonnon
Bonjour,

Je voudrais votre avis sur un message d'erreur.

Je souhaite ajouter dans une table un enregistrement qui n'apparait
pas sur la liste déroulante, car absent dans la table.

Soit une table T_Catégorie qui possède un champa Catégorie.
Soit une liste déroulante ChoixCatégorie dans mon formulaire qui
s'appuie sur cette table en triant par ordre alphabétique la liste de
catégories
SELECT [T_Catégorie].[Catégorie] FROM T_Catégorie ORDER BY
[T_Catégorie].[Catégorie];

Voici la prodédure que je mets en oeuvre pour ajouter le nouvel
enregistrement :

Private Sub ChoixCatégorie_NotInList(NewData As String, Response As
Integer)
On Error GoTo test_erreur:
Dim bds As DataBase
Dim rs As Recordset
DemandeAjoutNouvelleCatégorie = MsgBox("Etes-vous sûr de vouloir
ajouter " & "'" & NewData & "'" & " à la liste des catégories ?",
vbYesNo)
If DemandeAjoutNouvelleCatégorie = vbYes Then
Set bds = CurrentDb()
Set rs = bds.Openrecordset("T_Catégorie")
rs.AddNew
rs!Catégorie = NewData
rs.Update
Response = acDataErrAdded
Else
MsgBox "La catégorie " & "'" & NewData & "'" & " ne sera pas
ajoutée à la liste."
Response = acDataErrContinue
End If
Exit Sub

test_erreur:
MsgBox Err
MsgBox Err.Description
End Sub


Lorsque je fais un essai d'ajout de nouvelle entrée dans la liste
déroulante, j'ai le message d'erreur suivant :
erreur de compilation : type défini par l'utilisateur non défini.
La ligne incriminée est : Dim bds As DataBase

Je ne comprends pas ce qui ne va pas !

Merci pour vos suggestions.

6 réponses

Avatar
phil
Bonjour Fredonnon

Lorsque ce message apparait et que je bosse avec des
objets, c'est generalement parce que j'ai oublié un NEW

Essaye avec
Dim bds As new DataBase


-----Message d'origine-----
Bonjour,

Je voudrais votre avis sur un message d'erreur.

Je souhaite ajouter dans une table un enregistrement qui
n'apparait

pas sur la liste déroulante, car absent dans la table.

Soit une table T_Catégorie qui possède un champa
Catégorie.

Soit une liste déroulante ChoixCatégorie dans mon
formulaire qui

s'appuie sur cette table en triant par ordre alphabétique
la liste de

catégories
SELECT [T_Catégorie].[Catégorie] FROM T_Catégorie ORDER BY
[T_Catégorie].[Catégorie];

Voici la prodédure que je mets en oeuvre pour ajouter le
nouvel

enregistrement :

Private Sub ChoixCatégorie_NotInList(NewData As String,
Response As

Integer)
On Error GoTo test_erreur:
Dim bds As DataBase
Dim rs As Recordset
DemandeAjoutNouvelleCatégorie = MsgBox("Etes-vous sûr de
vouloir

ajouter " & "'" & NewData & "'" & " à la liste des
catégories ?",

vbYesNo)
If DemandeAjoutNouvelleCatégorie = vbYes Then
Set bds = CurrentDb()
Set rs = bds.Openrecordset("T_Catégorie")
rs.AddNew
rs!Catégorie = NewData
rs.Update
Response = acDataErrAdded
Else
MsgBox "La catégorie " & "'" & NewData & "'" & " ne
sera pas

ajoutée à la liste."
Response = acDataErrContinue
End If
Exit Sub

test_erreur:
MsgBox Err
MsgBox Err.Description
End Sub


Lorsque je fais un essai d'ajout de nouvelle entrée dans
la liste

déroulante, j'ai le message d'erreur suivant :
erreur de compilation : type défini par l'utilisateur non
défini.

La ligne incriminée est : Dim bds As DataBase

Je ne comprends pas ce qui ne va pas !

Merci pour vos suggestions.
.



Avatar
Salut,

Il faut que tu rajoutes la référence à la librairie
Microsoft DAO 3.6 dans ton projet.

Sous VB, dans la partie ou tu ecris le code, Menu Outils -
Référence et coches Microsoft DAO 3.6 Object Library. Tu
peux éventuellement décocher la référence Microsoft
ActiveX Data Objects 2.0 Library si tu n'en as pas
l'utilité

A+
Eric


-----Message d'origine-----
Bonjour,

Je voudrais votre avis sur un message d'erreur.

Je souhaite ajouter dans une table un enregistrement qui
n'apparait

pas sur la liste déroulante, car absent dans la table.

Soit une table T_Catégorie qui possède un champa
Catégorie.

Soit une liste déroulante ChoixCatégorie dans mon
formulaire qui

s'appuie sur cette table en triant par ordre alphabétique
la liste de

catégories
SELECT [T_Catégorie].[Catégorie] FROM T_Catégorie ORDER BY
[T_Catégorie].[Catégorie];

Voici la prodédure que je mets en oeuvre pour ajouter le
nouvel

enregistrement :

Private Sub ChoixCatégorie_NotInList(NewData As String,
Response As

Integer)
On Error GoTo test_erreur:
Dim bds As DataBase
Dim rs As Recordset
DemandeAjoutNouvelleCatégorie = MsgBox("Etes-vous sûr de
vouloir

ajouter " & "'" & NewData & "'" & " à la liste des
catégories ?",

vbYesNo)
If DemandeAjoutNouvelleCatégorie = vbYes Then
Set bds = CurrentDb()
Set rs = bds.Openrecordset("T_Catégorie")
rs.AddNew
rs!Catégorie = NewData
rs.Update
Response = acDataErrAdded
Else
MsgBox "La catégorie " & "'" & NewData & "'" & " ne
sera pas

ajoutée à la liste."
Response = acDataErrContinue
End If
Exit Sub

test_erreur:
MsgBox Err
MsgBox Err.Description
End Sub


Lorsque je fais un essai d'ajout de nouvelle entrée dans
la liste

déroulante, j'ai le message d'erreur suivant :
erreur de compilation : type défini par l'utilisateur non
défini.

La ligne incriminée est : Dim bds As DataBase

Je ne comprends pas ce qui ne va pas !

Merci pour vos suggestions.
.



Avatar
3stone
Salut,

"Fredonnon"

Lorsque je fais un essai d'ajout de nouvelle entrée dans la liste
déroulante, j'ai le message d'erreur suivant :
erreur de compilation : type défini par l'utilisateur non défini.
La ligne incriminée est : Dim bds As DataBase





Ajoute la référence DAO et habitue toi à écrire


Dim dbs As DAO.Database

pour spécifier à Access que tu utilise la méthode de DAO et non ADO



--
A+
Pierre (3stone) Access MVP
-----------------------------
http://users.skynet.be/mpfa
-----------------------------

Avatar
fredonnon
Merci Pierre, je vais essayer le truc et tâcher de me souvenir
d'écrire "proprement".
"3stone" wrote in message news:<#...
Salut,

"Fredonnon"

Lorsque je fais un essai d'ajout de nouvelle entrée dans la liste
déroulante, j'ai le message d'erreur suivant :
erreur de compilation : type défini par l'utilisateur non défini.
La ligne incriminée est : Dim bds As DataBase





Ajoute la référence DAO et habitue toi à écrire


Dim dbs As DAO.Database

pour spécifier à Access que tu utilise la méthode de DAO et non ADO



Avatar
fredonnon
Microsoft DAO 3.6 n'était pas coché en effet. Merci pour le tuyau.

J'ai un message 13 : Incompatibilité de type qui apparait désormais,
lorsque je confirme l'ajout de la nouvelle valeur dans la liste
déroulante.
Je ne sais pas s'il s'agit d'un problème lié à ma variable
DemandeAjoutNouvelleCatégorie pour confirmer l'ajout ou si c'est
propre à la valeur à rentrer dans la table T_Catégorie visible dans la
liste déroulante ChoixCatégorie

Si quelqu'un a une idée, merci d'avance (c:

wrote in message news:<5e4d01c3e5b4$550d6100$...
Salut,

Il faut que tu rajoutes la r f rence la librairie
Microsoft DAO 3.6 dans ton projet.

Sous VB, dans la partie ou tu ecris le code, Menu Outils -
R f rence et coches Microsoft DAO 3.6 Object Library. Tu
peux ventuellement d cocher la r f rence Microsoft
ActiveX Data Objects 2.0 Library si tu n'en as pas
l'utilit

A+
Eric


-----Message d'origine-----
Bonjour,

Je voudrais votre avis sur un message d'erreur.

Je souhaite ajouter dans une table un enregistrement qui
n'apparait

pas sur la liste d roulante, car absent dans la table.

Soit une table T Cat gorie qui poss de un champa
Cat gorie.

Soit une liste d roulante ChoixCat gorie dans mon
formulaire qui

s'appuie sur cette table en triant par ordre alphab tique
la liste de

cat gories
SELECT [T Cat gorie].[Cat gorie] FROM T Cat gorie ORDER BY
[T Cat gorie].[Cat gorie];

Voici la prod dure que je mets en oeuvre pour ajouter le
nouvel

enregistrement :

Private Sub ChoixCat gorie NotInList(NewData As String,
Response As

Integer)
On Error GoTo test erreur:
Dim bds As DataBase
Dim rs As Recordset
DemandeAjoutNouvelleCat gorie = MsgBox("Etes-vous s r de
vouloir

ajouter " & "'" & NewData & "'" & " la liste des
cat gories ?",

vbYesNo)
If DemandeAjoutNouvelleCat gorie = vbYes Then
Set bds = CurrentDb()
Set rs = bds.Openrecordset("T Cat gorie")
rs.AddNew
rs!Cat gorie = NewData
rs.Update
Response = acDataErrAdded
Else
MsgBox "La cat gorie " & "'" & NewData & "'" & " ne
sera pas

ajout e la liste."
Response = acDataErrContinue
End If
Exit Sub

test erreur:
MsgBox Err
MsgBox Err.Description
End Sub


Lorsque je fais un essai d'ajout de nouvelle entr e dans
la liste

d roulante, j'ai le message d'erreur suivant :
erreur de compilation : type d fini par l'utilisateur non
d fini.

La ligne incrimin e est : Dim bds As DataBase

Je ne comprends pas ce qui ne va pas !

Merci pour vos suggestions.
.





Avatar
CGH \(Tidi\)
Bjr à tous,

Tu peux aussi recherche le fichier DAO360.dll sur ton PC
Quand tu l'as trouvé, essayes
Demarrer Executer
tapes Regsvr32 "[Chemin de la dll]DAO360.dll" et execute cette ligne

Cela va registrer la dll

@+

Cedric





"Fredonnon" a écrit dans le message de
news:
Bonjour,

Je voudrais votre avis sur un message d'erreur.

Je souhaite ajouter dans une table un enregistrement qui n'apparait
pas sur la liste déroulante, car absent dans la table.

Soit une table T_Catégorie qui possède un champa Catégorie.
Soit une liste déroulante ChoixCatégorie dans mon formulaire qui
s'appuie sur cette table en triant par ordre alphabétique la liste de
catégories
SELECT [T_Catégorie].[Catégorie] FROM T_Catégorie ORDER BY
[T_Catégorie].[Catégorie];

Voici la prodédure que je mets en oeuvre pour ajouter le nouvel
enregistrement :

Private Sub ChoixCatégorie_NotInList(NewData As String, Response As
Integer)
On Error GoTo test_erreur:
Dim bds As DataBase
Dim rs As Recordset
DemandeAjoutNouvelleCatégorie = MsgBox("Etes-vous sûr de vouloir
ajouter " & "'" & NewData & "'" & " à la liste des catégories ?",
vbYesNo)
If DemandeAjoutNouvelleCatégorie = vbYes Then
Set bds = CurrentDb()
Set rs = bds.Openrecordset("T_Catégorie")
rs.AddNew
rs!Catégorie = NewData
rs.Update
Response = acDataErrAdded
Else
MsgBox "La catégorie " & "'" & NewData & "'" & " ne sera pas
ajoutée à la liste."
Response = acDataErrContinue
End If
Exit Sub

test_erreur:
MsgBox Err
MsgBox Err.Description
End Sub


Lorsque je fais un essai d'ajout de nouvelle entrée dans la liste
déroulante, j'ai le message d'erreur suivant :
erreur de compilation : type défini par l'utilisateur non défini.
La ligne incriminée est : Dim bds As DataBase

Je ne comprends pas ce qui ne va pas !

Merci pour vos suggestions.