Afficher les données d'une table Access dans une forme VB6

developvbdebut Messages postés 476 Date d'inscription samedi 14 août 2004 Statut Membre Dernière intervention 2 juin 2012 - 24 avril 2005 à 21:11
developvbdebut Messages postés 476 Date d'inscription samedi 14 août 2004 Statut Membre Dernière intervention 2 juin 2012 - 25 avril 2005 à 21:02
Bonsoir tout le monde

Voilà mon probleme est que je n'arrive pas à afficher dans une form VB6
mes données enregistré dans une Table Acess

Voici ci dessous ce que j'ai mis en explicit pour la connexion

Option Explicit
Dim cnx As ADODB.Connection
Dim rst As ADODB.Recordset
Dim cmado As New ADODB.Command

Lors de l'essais il lance l'erreur de compilation suivante

Aucune valeur données pour un ou plusieurs des paramêtre requi

En selectionnant "rst.Open str, cnx"

Et voici le code qui est dans form load :

Private Sub Form_Load()


Dim str As String


Set cnx = New ADODB.Connection


cnx.Provider = "Microsoft.Jet.Oledb.4.0"
cnx.ConnectionString = App.Path & "\emailenvoyé.mdb"
cnx.Open


cmado.ActiveConnection = cnx


str = "select * from email order by N°.email"


Set rst = New ADODB.Recordset


rst.Open str, cnx


rst.CursorLocation = adUseClient


rst.CursorType = adOpenDynamic


rst.LockType = adLockOptimistic





Command2.Enabled = Not Adodc1.Recordset.EOF

Command1.Enabled = Not Adodc1.Recordset.BOF


Text4.Text = Adodc1.Recordset.RecordCount


If Text4 = 0 Then

MsgBox ("Aucune données entrée pour le moment")

Else



Do Until rst.EOF = True

Text2.Text = rst!Date
Text3.Text = rst!Time
Text6.Text = rst!destinataire
Text5.Text = rst!messag
Text7.Text = rst!N°


rst.MoveNext


Me.Refresh


Loop


End If


End Sub

Pouriez vous m'aider svp?

Cordiallement

A bientôt

4 réponses

jpleroisse Messages postés 1788 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 11 mars 2006 27
24 avril 2005 à 21:51
Aucune valeur données pour un ou plusieurs paramètres est un message que le prg met quand il ne trouve pas la valeur recherchée, vérifie l'orthographe de tes noms et s'il y a des espaces mets- les entre crochets [] et essaie.

jpleroisse
0
developvbdebut Messages postés 476 Date d'inscription samedi 14 août 2004 Statut Membre Dernière intervention 2 juin 2012 1
24 avril 2005 à 22:09
Rebonsoir tout le monde

Sa ne marche pas, j'ai vérifié et au niveau des noms tout est correcte

Il selectionne toujour la ligne si dessous, avec la même erreur.

rst.Open str, cnx

Où est le problème?

Mercie

Cordiallement

A bientôt
0
developvbdebut Messages postés 476 Date d'inscription samedi 14 août 2004 Statut Membre Dernière intervention 2 juin 2012 1
25 avril 2005 à 10:06
Bonjour tout le monde

J'ais modifié mon code, il ne me fait plus de message d'erreur, mais l'orsque j'
empact mon projet et que je l'installe sur mon ordianteur.

Il n'affiche pas les données enregistré, pourtant ils le sont j'ai vérifié dans la
table directement.

Et quand mon mon prog et en création tout va bien.

C'est vraiement bizard.

Voilà mon code modifié:

Option Explicit
Dim cnx As ADODB.Connection
Dim rst As ADODB.Recordset
Dim cmado As New ADODB.Command
Public serveur As String
Private nextSend As Boolean


Private Sub Command1_Click()


If Not Adodc1.Recordset.BOF Then
Adodc1.Recordset.MovePrevious


End If


Command1.Enabled = Not Adodc1.Recordset.BOF


Command2.Enabled = Not Adodc1.Recordset.EOF



End Sub


Private Sub Command2_Click()





If Not Adodc1.Recordset.EOF Then
Adodc1.Recordset.MoveNext


End If


Command2.Enabled = Not Adodc1.Recordset.EOF

Command1.Enabled = Not Adodc1.Recordset.BOF

End Sub



Private Sub del_Click()


Dim cnx As ADODB.Connection
Dim requete As String
Dim strNum As String


Set cnx = New ADODB.Connection
Set rst = New ADODB.Recordset



cnx.Provider = "Microsoft.Jet.Oledb.4.0"
cnx.ConnectionString = App.Path & "\emailenvoyé.mdb"
cnx.Open


strNum = InputBox("Numéro de l'email à éffacer?", "Effacer email")



If strNum = "" Then


MsgBox ("Vous n'avez pas entré le numéro de la ligne à effacer")


Else


requete = "DELETE FROM email WHERE [N°]=" & strNum
cnx.Execute requete


End If


End Sub





Private Sub Form_Load()





Set cnx = New ADODB.Connection


Set rst = New ADODB.Recordset


cnx.Provider = "Microsoft.Jet.Oledb.4.0"
cnx.ConnectionString = App.Path & "\emailenvoyé.mdb"
cnx.Open


cmado.ActiveConnection = cnx


rst.CursorLocation = adUseClient


rst.CursorType = adOpenDynamic


rst.LockType = adLockOptimistic

rst.Open "select * from email", cnx

Command2.Enabled = Not Adodc1.Recordset.EOF

Command1.Enabled = Not Adodc1.Recordset.BOF


Text4.Text = Adodc1.Recordset.RecordCount


If Text4 = 0 Then

MsgBox ("Aucune données entrée pour le moment")



Else



Do Until rst.EOF = True


realrecord


rst.MoveNext


Me.Refresh


Loop


End If


End Sub



Private Function GetValue(fld As String) As String
If IsNull(fld) Then
GetValue = ""
Else
GetValue = fld
End If
End Function


Private Sub realrecord()


Text2.Text = GetValue(rst!Date)
Text3.Text = GetValue(rst!Time)
Text6.Text = GetValue(rst!destinataire)
Text5.Text = GetValue(rst!messag)
Text7.Text = GetValue(rst!N°)


End Sub
Private Sub Form_Unload(Cancel As Integer)


cnx.Close


End Sub


Private Sub quit_Click()
Hide
End Sub

C'est tou le code de la form.

Quand penssez vous?

Je voudrais en terminer.

Mercie.

Cordiallement

A bientôt
0
developvbdebut Messages postés 476 Date d'inscription samedi 14 août 2004 Statut Membre Dernière intervention 2 juin 2012 1
25 avril 2005 à 21:02
Bonsoir tout le monde

J'ai découvert une erreur, je n'étais même pas au courrant

Je m'en excuse.

l'erreure se trouve au niveaus de des boutons

Avant :


Private Sub Command1_Click()


If Not Adodc1.Recordset.BOF Then
Adodc1.Recordset.MovePrevious


End If


Command1.Enabled = Not Adodc1.Recordset.BOF


Command2.Enabled = Not Adodc1.Recordset.EOF

et Précédent :


Private Sub Command2_Click()





If Not Adodc1.Recordset.EOF Then
Adodc1.Recordset.MoveNext


End If


Command2.Enabled = Not Adodc1.Recordset.EOF

Command1.Enabled = Not Adodc1.Recordset.BOF

End Sub



En effet il dit erreur d'éxcution

Le champ N° n'est pas un champ pourvant être mis a jour en selectionnant les
lignes en rougne dans les bouton.

J'ai essayai de retiré les lignes et ca a copier la deuxieme ligne dans la premiere
ligne dans la table ACCESS.

Je vous signal que le champs N° a une clé primaire et que c'est le champ de la
numérotation Automatique

Que me conseillez vous de faire?

Je vous en suppli!!!

Mercie

Cordiallement

A bientôt
0
Rejoignez-nous