Erreur liée à ma table ACCES

basamir Messages postés 335 Date d'inscription vendredi 21 octobre 2005 Statut Membre Dernière intervention 8 mars 2008 - 30 déc. 2007 à 18:26
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 - 30 déc. 2007 à 22:13
Bonsoir,

pour afficher un enregistrement de ma base de données, j'ai codé le script suivant:

Private Sub Command2_Click()
Dim Message, MyValue
Dim nom As String
Message = "Entrez Le nom du client"
    'Affiche le message, par défaut
    MyValue = InputBox(Message, "Afficher")
    nom = MyValue
    Form1.nom = MyValue
Dim nom1 As String: Dim prenom1 As String: Dim tel1 As String
Call idnom(nom)
Call affichpil(nom1, prenom1, tel1)Form1.nom nom1: Form1.prenom prenom1: Form1.tel = tel1
End Sub

Public Sub idnom(ByVal npil As String)
Call Etablir_Connection

Dim Reqsql As New ADODB.Command
Dim Res As New ADODB.Recordset
Reqsql.ActiveConnection = clReqsql.CommandText "Select nom From client Where nom  " & npil & ""
Set Res = Reqsql.Execute
If Not Res.EOF = False Then
    MsgBox "Ce client n'existe pas, Veuillez en Choisir un autre ", vbInformation, "Information"
    End If
Call Fermer_Connection
End Sub

En exécutant ce code j'obtiens l'erreur suivante:
Aucune valeur donée pour une ou plusieurs des paramètres requis

et la ligne pointée est la suivante:
Set Res = Reqsql.Execute

Merci d'avance!
Le savoir est la lumière de nous tous, partageons le!

7 réponses

cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
30 déc. 2007 à 18:32
Salut,

Essaye comme cela :
Reqsql.CommandText "Select nom From client Where nom  '" & npil & "'"

Puis ici tu peux faire comme cela :

If Not Res.EOF = False Then >> If Not Res.EOF Then

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
0
basamir Messages postés 335 Date d'inscription vendredi 21 octobre 2005 Statut Membre Dernière intervention 8 mars 2008
30 déc. 2007 à 19:15
Merci Explorer, je veux aussi crée les boutons qui me permettent de parcourir tous mes enregistrements:
Premier
Suivant
Precedent
Dernier

j'essaie toujours de faire appel à mes fonctions du module, j'ai essayé ça mais ça ne marche pas:

Public Sub suivpil() '(ByVal nom As String, ByVal prenom As String, ByVal tel As String)
    'Procédure permettant d'inserrer dans les tables tous les renseignements
Call Etablir_Connection
Private Sub Command5_Click()
Call suivpil
Call affichpil(nom, prenom, tel)Form1.nom nom: Form1.prenom prenom: Form1.tel = tel
End Sub

Dim Reqsql As New ADODB.Command
Dim Pilote As New ADODB.Recordset
Reqsql.ActiveConnection = cl
Pilote.MoveNext
 Call Fermer_Connection
End Sub

Le savoir est la lumière de nous tous, partageons le!
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
30 déc. 2007 à 19:57
Salut,

Regarde avec ton recodset une fois chargé(rempli) du côté de :

Rs.MoveFirst >> Déplacement sur le premier
Rs.MoveLast >> Déplacement sur le précédent
Rs.MoveNext >> Déplacement sur le suivant
Rs.MovePrevious >> Déplacement sur le dernier

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
0
basamir Messages postés 335 Date d'inscription vendredi 21 octobre 2005 Statut Membre Dernière intervention 8 mars 2008
30 déc. 2007 à 20:01
oui je sais mais je ne sais pas comment inserer ces instructions dans une fonction avec le renvoie d'une variable à chaque opération cad next, last, first et Previous

Merci

Le savoir est la lumière de nous tous, partageons le!
0

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

Posez votre question
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
30 déc. 2007 à 20:32
Re,

Mais tu veux renvoyer quoi exactement dans cette fonction ??

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
0
basamir Messages postés 335 Date d'inscription vendredi 21 octobre 2005 Statut Membre Dernière intervention 8 mars 2008
30 déc. 2007 à 20:36
Ok, je veux créer une fonction qui reçoit soit MoveFirst ou MoveNext etc.. à partir des boutons Dernier, Suivant etc..

l'idée est de ne faire qu'une seule fonction qui reçoit l'action à réaliser.

Ceci est du au fait que les mouvements sur ma table sont dans un module hors ma feuille Form1.

Le savoir est la lumière de nous tous, partageons le!
0
cs_Exploreur Messages postés 4821 Date d'inscription lundi 11 novembre 2002 Statut Membre Dernière intervention 15 novembre 2016 15
30 déc. 2007 à 22:13
Re,

Je ne sais pas si j'ai bien compris mais une sub devrait suffir :

Private Sub Deplace(ByRef Rst As ADODB.RecordSet, sType As String)

' En faite, une fois ton RecordSet rempli, on le passe en paramètre à la fonction
' ByRef >> Tu travails directement avec ton RecordSet
' ByVal >> Tu travails avec une clone de ton RecordSet

Select Case sType

On Error Resume Next

Case "MoveFirst"
              Rst.MoveFisrt

Case "MoveLast"
              Rst.MoveLast

Case "MoveNext"
              Rst.MoveNext

Case "MovePrevious"
              Rst.MovePrevious

Err.Clear
A+
Exploreur

J'espère que c'est cela.... ! En tout cas c'est une base....

 Linux a un noyau, Windows un pépin

 
0
Rejoignez-nous