Erreur 438

Résolu
bilelvb Messages postés 10 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 28 décembre 2009 - 21 déc. 2009 à 04:41
bilelvb Messages postés 10 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 28 décembre 2009 - 23 déc. 2009 à 06:33
Bonjour tout le monde,
voilà j'ai besoin d'une aide parceque je sais plus koi faire.
En fait, je résume le problème: Je veux entrer des informations à une table, ds une BD bien sur. Une fois elles sont entrées, je dois récupérer leurs "id" qu'est un numéro de type numéro automatique; et afficher le continu sur un textbox. Mais une erreur 438, survient lors de l'execution et affiche"L'objet ne gère pas cette prropriété ou cette méthode".
J'ai tout essayé mais pas de solution.
Voila je donne le code pour avoir une idée:
[b]If nvaccin.Text = "" Then
MsgBox "Veuillez saisir le nom du nouveau vaccin.", vbInformation, "-Nom Vaccin-"
Exit Sub
End If
sql = "select *from vaccin" ' On sélectionne tous les champs de la table
Set rs = db.OpenRecordset(sql, dbOpenDynaset) ' ici on est bien en mode écriture (dbOpenDynaset)

rs.AddNew 'Pour ajouter un enregistrement
rs.Fields("nomvac") = nvaccin.Text
rs.Update 'Une fois les valeurs définies, on met à jour
rs.Close
MsgBox "ajout dans table vaccin reussi"

sql1 "select * from vaccin where nomvac'" & Replace(nvaccin.Text, "'", "''") & "'"
rs1 = db.OpenRecordset(sql1, dbOpenSnapshot)
nd.Text = rs1.Fields("idvaccin")/b
Merci d'avance pour votre aide.

4 réponses

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
21 déc. 2009 à 10:25
de même, collectionner les requetes sql, sql1.... pas la peine.

Allez, un coup de nettoyage:
    If LenB(nvaccin.Text) Then
        With db.OpenRecordset("vaccin", dbOpenDynaset)
            .AddNew
                .Fields("nomvac").Value = nvaccin.Text
                nd.Text = .Fields("idvaccin").Value
            .Update
            .Close
        End With
        MsgBox "ajout dans table vaccin reussi"
    Else
        MsgBox "Veuillez saisir le nom du nouveau vaccin.", vbExclamation, "-Nom Vaccin-"
    End If



Renfield - Admin CodeS-SourceS - MVP Visual Basic
3
tpoinsot Messages postés 345 Date d'inscription mardi 1 juin 2004 Statut Membre Dernière intervention 17 octobre 2014 4
21 déc. 2009 à 08:10
bonjour,
tu devrais récupérer l'ID au moment de l'addnew :
 rs.AddNew
 ...
 x = rs!ID
 rs.Update


thip
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
21 déc. 2009 à 10:07
et éviter les Select * pour n'exploiter qu'un champ.


Renfield - Admin CodeS-SourceS - MVP Visual Basic
0
bilelvb Messages postés 10 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 28 décembre 2009
23 déc. 2009 à 06:33
Merci beaucoup, ça tourne.
0
Rejoignez-nous