Erreur d'exécution d'une requete au niveau d'un data report dynamique
2 réponses
René KAPAYO
Bonjour =E0 tous!=20
=20
A l'ex=E9cution du code du programme suivant, un message=20
d'erreur apparait. Voici le message d'erreur: " Erreur=20
d'ex=E9cution '3265' Impossible de trouver l'objet dans la=20
collection correspondant au nom ou =E0 la r=E9f=E9rence ordinale=20
demand=E9."=20
Un peu de pr=E9cision: Je mets dans cmd.CommandText =3D "=20
select * from Eleve", aucun probl=E8me ne se pose et=20
j'affiche correctement le report mais si c'est une requete=20
avec jointure ou param=E9tr=E9e alors une erreur se d=E9clenche.=20
A vous maintenant : =20
Code:=20
Private Sub Form_Load()=20
ProduitLancer.Caption =3D "Liste des =E9l=E8ves"=20
=20
'prompt$ =3D "Entrez la valeur de la variable. "=20
'Variable =3D InputBox(prompt$, "Saisie d'une variable")=20
=20
cn.Open "provider=3DMicrosoft.Jet.OLEDB.4.0;" & _=20
"Data Source=3DC:\Essai\Eleves.mdb;"=20
=20
With cmd=20
.ActiveConnection =3D cn=20
.CommandType =3D adCmdText=20
.CommandText =3D "select=20
nationalite.codenationalite, eleve.matricule, eleve.nom=20
from nationalite, eleve where nationalite.codenationalite=20
=3D eleve.codenationalite"=20
.Execute=20
' Set rs =3D cmd.Execute=20
End With=20
=20
'rs.Close=20
=20
'Set rs =3D New ADODB.Recordset=20
=20
With rs=20
.ActiveConnection =3D cn=20
.CursorLocation =3D adUseClient=20
'.CursorType =3D adOpenStatic=20
'.LockType =3D adLockOptimistic=20
.Open cmd ', , adOpenKeyset, adLockOptimistic,=20
adCmdText=20
End With=20
'rs.Open cmd, , adOpenKeyset, adLockOptimistic=20
End Sub=20
Private Sub LancerAffiche_Click()=20
Dim q As Integer=20
Dim intCtrl As Integer=20
Dim x As Integer=20
Dim z As Integer=20
z =3D 0=20
q =3D 0=20
x =3D 0=20
=20
'Prompt$ =3D "Entrez la valeur de la variable. "=20
'variable =3D InputBox(Prompt$, "Saisie d'une variable")=20
=20
With ProduitSelection=20
.Hide=20
Set .DataSource =3D rs=20
.DataMember =3D ""=20
With .Sections("Detaileleve").Controls=20
For intCtrl =3D 1 To .Count=20
If TypeOf .Item(intCtrl) Is RptLabel Then=20
.Item(intCtrl).Caption =3D rs.Fields
(q).Name & " :"=20
q =3D q + 1=20
End If=20
If TypeOf .Item(intCtrl) Is RptTextBox=20
Then=20
.Item(intCtrl).DataMember =3D ""=20
.Item(intCtrl).DataField =3D rs(z).Name=20
z =3D z + 1=20
End If=20
Next intCtrl=20
End With=20
.Refresh=20
.Show=20
End With=20
rs.Close=20
'cn.Close=20
End Sub=20
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
+The_Taco+
Lorsqu'on a un message d'erreur comme celui la, c'est souvent dû à cause de ta chaîne SQL, une référence du champ n'est pas correcte, pe que tu appelles un camps qui n'existe pas dans ta table, pe juste une faute de syntaxe aussi..
Donne moi en des nouvelles...
"René KAPAYO" a écrit dans le message de news:ccd301c3ba65$37c868d0$ Bonjour à tous!
A l'exécution du code du programme suivant, un message d'erreur apparait. Voici le message d'erreur: " Erreur d'exécution '3265' Impossible de trouver l'objet dans la collection correspondant au nom ou à la référence ordinale demandé."
Un peu de précision: Je mets dans cmd.CommandText = " select * from Eleve", aucun problème ne se pose et j'affiche correctement le report mais si c'est une requete avec jointure ou paramétrée alors une erreur se déclenche.
A vous maintenant : Code: Private Sub Form_Load()
ProduitLancer.Caption = "Liste des élèves"
'prompt$ = "Entrez la valeur de la variable. " 'Variable = InputBox(prompt$, "Saisie d'une variable")
With cmd .ActiveConnection = cn .CommandType = adCmdText .CommandText = "select nationalite.codenationalite, eleve.matricule, eleve.nom from nationalite, eleve where nationalite.codenationalite = eleve.codenationalite" .Execute ' Set rs = cmd.Execute End With
'rs.Close
'Set rs = New ADODB.Recordset
With rs .ActiveConnection = cn .CursorLocation = adUseClient '.CursorType = adOpenStatic '.LockType = adLockOptimistic .Open cmd ', , adOpenKeyset, adLockOptimistic, adCmdText End With 'rs.Open cmd, , adOpenKeyset, adLockOptimistic End Sub
Private Sub LancerAffiche_Click()
Dim q As Integer Dim intCtrl As Integer Dim x As Integer Dim z As Integer z = 0 q = 0 x = 0
'Prompt$ = "Entrez la valeur de la variable. " 'variable = InputBox(Prompt$, "Saisie d'une variable")
With ProduitSelection .Hide Set .DataSource = rs .DataMember = "" With .Sections("Detaileleve").Controls For intCtrl = 1 To .Count If TypeOf .Item(intCtrl) Is RptLabel Then .Item(intCtrl).Caption = rs.Fields (q).Name & " :" q = q + 1 End If If TypeOf .Item(intCtrl) Is RptTextBox Then .Item(intCtrl).DataMember = "" .Item(intCtrl).DataField = rs(z).Name z = z + 1 End If Next intCtrl End With .Refresh .Show End With rs.Close 'cn.Close End Sub
Lorsqu'on a un message d'erreur comme celui la, c'est souvent dû à cause de
ta chaîne SQL, une référence du champ n'est pas correcte, pe que tu appelles
un camps qui n'existe pas dans ta table, pe juste une faute de syntaxe
aussi..
Donne moi en des nouvelles...
"René KAPAYO" <anonymous@discussions.microsoft.com> a écrit dans le message
de news:ccd301c3ba65$37c868d0$a601280a@phx.gbl...
Bonjour à tous!
A l'exécution du code du programme suivant, un message
d'erreur apparait. Voici le message d'erreur: " Erreur
d'exécution '3265' Impossible de trouver l'objet dans la
collection correspondant au nom ou à la référence ordinale
demandé."
Un peu de précision: Je mets dans cmd.CommandText = "
select * from Eleve", aucun problème ne se pose et
j'affiche correctement le report mais si c'est une requete
avec jointure ou paramétrée alors une erreur se déclenche.
A vous maintenant :
Code:
Private Sub Form_Load()
ProduitLancer.Caption = "Liste des élèves"
'prompt$ = "Entrez la valeur de la variable. "
'Variable = InputBox(prompt$, "Saisie d'une variable")
With cmd
.ActiveConnection = cn
.CommandType = adCmdText
.CommandText = "select
nationalite.codenationalite, eleve.matricule, eleve.nom
from nationalite, eleve where nationalite.codenationalite
= eleve.codenationalite"
.Execute
' Set rs = cmd.Execute
End With
'rs.Close
'Set rs = New ADODB.Recordset
With rs
.ActiveConnection = cn
.CursorLocation = adUseClient
'.CursorType = adOpenStatic
'.LockType = adLockOptimistic
.Open cmd ', , adOpenKeyset, adLockOptimistic,
adCmdText
End With
'rs.Open cmd, , adOpenKeyset, adLockOptimistic
End Sub
Private Sub LancerAffiche_Click()
Dim q As Integer
Dim intCtrl As Integer
Dim x As Integer
Dim z As Integer
z = 0
q = 0
x = 0
'Prompt$ = "Entrez la valeur de la variable. "
'variable = InputBox(Prompt$, "Saisie d'une variable")
With ProduitSelection
.Hide
Set .DataSource = rs
.DataMember = ""
With .Sections("Detaileleve").Controls
For intCtrl = 1 To .Count
If TypeOf .Item(intCtrl) Is RptLabel Then
.Item(intCtrl).Caption = rs.Fields
(q).Name & " :"
q = q + 1
End If
If TypeOf .Item(intCtrl) Is RptTextBox
Then
.Item(intCtrl).DataMember = ""
.Item(intCtrl).DataField = rs(z).Name
z = z + 1
End If
Next intCtrl
End With
.Refresh
.Show
End With
rs.Close
'cn.Close
End Sub
Lorsqu'on a un message d'erreur comme celui la, c'est souvent dû à cause de ta chaîne SQL, une référence du champ n'est pas correcte, pe que tu appelles un camps qui n'existe pas dans ta table, pe juste une faute de syntaxe aussi..
Donne moi en des nouvelles...
"René KAPAYO" a écrit dans le message de news:ccd301c3ba65$37c868d0$ Bonjour à tous!
A l'exécution du code du programme suivant, un message d'erreur apparait. Voici le message d'erreur: " Erreur d'exécution '3265' Impossible de trouver l'objet dans la collection correspondant au nom ou à la référence ordinale demandé."
Un peu de précision: Je mets dans cmd.CommandText = " select * from Eleve", aucun problème ne se pose et j'affiche correctement le report mais si c'est une requete avec jointure ou paramétrée alors une erreur se déclenche.
A vous maintenant : Code: Private Sub Form_Load()
ProduitLancer.Caption = "Liste des élèves"
'prompt$ = "Entrez la valeur de la variable. " 'Variable = InputBox(prompt$, "Saisie d'une variable")
With cmd .ActiveConnection = cn .CommandType = adCmdText .CommandText = "select nationalite.codenationalite, eleve.matricule, eleve.nom from nationalite, eleve where nationalite.codenationalite = eleve.codenationalite" .Execute ' Set rs = cmd.Execute End With
'rs.Close
'Set rs = New ADODB.Recordset
With rs .ActiveConnection = cn .CursorLocation = adUseClient '.CursorType = adOpenStatic '.LockType = adLockOptimistic .Open cmd ', , adOpenKeyset, adLockOptimistic, adCmdText End With 'rs.Open cmd, , adOpenKeyset, adLockOptimistic End Sub
Private Sub LancerAffiche_Click()
Dim q As Integer Dim intCtrl As Integer Dim x As Integer Dim z As Integer z = 0 q = 0 x = 0
'Prompt$ = "Entrez la valeur de la variable. " 'variable = InputBox(Prompt$, "Saisie d'une variable")
With ProduitSelection .Hide Set .DataSource = rs .DataMember = "" With .Sections("Detaileleve").Controls For intCtrl = 1 To .Count If TypeOf .Item(intCtrl) Is RptLabel Then .Item(intCtrl).Caption = rs.Fields (q).Name & " :" q = q + 1 End If If TypeOf .Item(intCtrl) Is RptTextBox Then .Item(intCtrl).DataMember = "" .Item(intCtrl).DataField = rs(z).Name z = z + 1 End If Next intCtrl End With .Refresh .Show End With rs.Close 'cn.Close End Sub
Bonjour,
Merci de m'avoir donné quelques précisions.
J'ai localisé cette erreur au niveau de data report. Lorsque le programme veut mettre avoir le rptlabel ou bien le rpttextbox, c'est à ce moment que se produit l'erreur. N'est-ce pas une mauvaise concordance entre les champs de la requete et les noms de ces controles? Je ne suis qu'un débutant en VB.
-----Message d'origine----- Lorsqu'on a un message d'erreur comme celui la, c'est
souvent dû à cause de
ta chaîne SQL, une référence du champ n'est pas correcte,
pe que tu appelles
un camps qui n'existe pas dans ta table, pe juste une
faute de syntaxe
aussi..
Donne moi en des nouvelles...
"René KAPAYO" a
écrit dans le message
de news:ccd301c3ba65$37c868d0$ Bonjour à tous!
A l'exécution du code du programme suivant, un message d'erreur apparait. Voici le message d'erreur: " Erreur d'exécution '3265' Impossible de trouver l'objet dans la collection correspondant au nom ou à la référence ordinale demandé."
Un peu de précision: Je mets dans cmd.CommandText = " select * from Eleve", aucun problème ne se pose et j'affiche correctement le report mais si c'est une requete avec jointure ou paramétrée alors une erreur se déclenche.
A vous maintenant : Code: Private Sub Form_Load()
ProduitLancer.Caption = "Liste des élèves"
'prompt$ = "Entrez la valeur de la variable. " 'Variable = InputBox(prompt$, "Saisie d'une variable")
With cmd .ActiveConnection = cn .CommandType = adCmdText .CommandText = "select nationalite.codenationalite, eleve.matricule, eleve.nom from nationalite, eleve where nationalite.codenationalite = eleve.codenationalite" .Execute ' Set rs = cmd.Execute End With
'rs.Close
'Set rs = New ADODB.Recordset
With rs .ActiveConnection = cn .CursorLocation = adUseClient '.CursorType = adOpenStatic '.LockType = adLockOptimistic .Open cmd ', , adOpenKeyset, adLockOptimistic, adCmdText End With 'rs.Open cmd, , adOpenKeyset, adLockOptimistic End Sub
Private Sub LancerAffiche_Click()
Dim q As Integer Dim intCtrl As Integer Dim x As Integer Dim z As Integer z = 0 q = 0 x = 0
'Prompt$ = "Entrez la valeur de la variable. " 'variable = InputBox(Prompt$, "Saisie d'une variable")
With ProduitSelection .Hide Set .DataSource = rs .DataMember = "" With .Sections("Detaileleve").Controls For intCtrl = 1 To .Count If TypeOf .Item(intCtrl) Is RptLabel Then .Item(intCtrl).Caption = rs.Fields (q).Name & " :" q = q + 1 End If If TypeOf .Item(intCtrl) Is RptTextBox Then .Item(intCtrl).DataMember = "" .Item(intCtrl).DataField = rs(z).Name z = z + 1 End If Next intCtrl End With .Refresh .Show End With rs.Close 'cn.Close End Sub
.
Bonjour,
Merci de m'avoir donné quelques précisions.
J'ai localisé cette erreur au niveau de data report.
Lorsque le programme veut mettre avoir le rptlabel ou bien
le rpttextbox, c'est à ce moment que se produit l'erreur.
N'est-ce pas une mauvaise concordance entre les champs de
la requete et les noms de ces controles?
Je ne suis qu'un débutant en VB.
-----Message d'origine-----
Lorsqu'on a un message d'erreur comme celui la, c'est
souvent dû à cause de
ta chaîne SQL, une référence du champ n'est pas correcte,
pe que tu appelles
un camps qui n'existe pas dans ta table, pe juste une
faute de syntaxe
aussi..
Donne moi en des nouvelles...
"René KAPAYO" <anonymous@discussions.microsoft.com> a
écrit dans le message
de news:ccd301c3ba65$37c868d0$a601280a@phx.gbl...
Bonjour à tous!
A l'exécution du code du programme suivant, un message
d'erreur apparait. Voici le message d'erreur: " Erreur
d'exécution '3265' Impossible de trouver l'objet dans la
collection correspondant au nom ou à la référence ordinale
demandé."
Un peu de précision: Je mets dans cmd.CommandText = "
select * from Eleve", aucun problème ne se pose et
j'affiche correctement le report mais si c'est une requete
avec jointure ou paramétrée alors une erreur se déclenche.
A vous maintenant :
Code:
Private Sub Form_Load()
ProduitLancer.Caption = "Liste des élèves"
'prompt$ = "Entrez la valeur de la variable. "
'Variable = InputBox(prompt$, "Saisie d'une variable")
With cmd
.ActiveConnection = cn
.CommandType = adCmdText
.CommandText = "select
nationalite.codenationalite, eleve.matricule, eleve.nom
from nationalite, eleve where nationalite.codenationalite
= eleve.codenationalite"
.Execute
' Set rs = cmd.Execute
End With
'rs.Close
'Set rs = New ADODB.Recordset
With rs
.ActiveConnection = cn
.CursorLocation = adUseClient
'.CursorType = adOpenStatic
'.LockType = adLockOptimistic
.Open cmd ', , adOpenKeyset, adLockOptimistic,
adCmdText
End With
'rs.Open cmd, , adOpenKeyset, adLockOptimistic
End Sub
Private Sub LancerAffiche_Click()
Dim q As Integer
Dim intCtrl As Integer
Dim x As Integer
Dim z As Integer
z = 0
q = 0
x = 0
'Prompt$ = "Entrez la valeur de la variable. "
'variable = InputBox(Prompt$, "Saisie d'une variable")
With ProduitSelection
.Hide
Set .DataSource = rs
.DataMember = ""
With .Sections("Detaileleve").Controls
For intCtrl = 1 To .Count
If TypeOf .Item(intCtrl) Is RptLabel Then
.Item(intCtrl).Caption = rs.Fields
(q).Name & " :"
q = q + 1
End If
If TypeOf .Item(intCtrl) Is RptTextBox
Then
.Item(intCtrl).DataMember = ""
.Item(intCtrl).DataField = rs(z).Name
z = z + 1
End If
Next intCtrl
End With
.Refresh
.Show
End With
rs.Close
'cn.Close
End Sub
J'ai localisé cette erreur au niveau de data report. Lorsque le programme veut mettre avoir le rptlabel ou bien le rpttextbox, c'est à ce moment que se produit l'erreur. N'est-ce pas une mauvaise concordance entre les champs de la requete et les noms de ces controles? Je ne suis qu'un débutant en VB.
-----Message d'origine----- Lorsqu'on a un message d'erreur comme celui la, c'est
souvent dû à cause de
ta chaîne SQL, une référence du champ n'est pas correcte,
pe que tu appelles
un camps qui n'existe pas dans ta table, pe juste une
faute de syntaxe
aussi..
Donne moi en des nouvelles...
"René KAPAYO" a
écrit dans le message
de news:ccd301c3ba65$37c868d0$ Bonjour à tous!
A l'exécution du code du programme suivant, un message d'erreur apparait. Voici le message d'erreur: " Erreur d'exécution '3265' Impossible de trouver l'objet dans la collection correspondant au nom ou à la référence ordinale demandé."
Un peu de précision: Je mets dans cmd.CommandText = " select * from Eleve", aucun problème ne se pose et j'affiche correctement le report mais si c'est une requete avec jointure ou paramétrée alors une erreur se déclenche.
A vous maintenant : Code: Private Sub Form_Load()
ProduitLancer.Caption = "Liste des élèves"
'prompt$ = "Entrez la valeur de la variable. " 'Variable = InputBox(prompt$, "Saisie d'une variable")
With cmd .ActiveConnection = cn .CommandType = adCmdText .CommandText = "select nationalite.codenationalite, eleve.matricule, eleve.nom from nationalite, eleve where nationalite.codenationalite = eleve.codenationalite" .Execute ' Set rs = cmd.Execute End With
'rs.Close
'Set rs = New ADODB.Recordset
With rs .ActiveConnection = cn .CursorLocation = adUseClient '.CursorType = adOpenStatic '.LockType = adLockOptimistic .Open cmd ', , adOpenKeyset, adLockOptimistic, adCmdText End With 'rs.Open cmd, , adOpenKeyset, adLockOptimistic End Sub
Private Sub LancerAffiche_Click()
Dim q As Integer Dim intCtrl As Integer Dim x As Integer Dim z As Integer z = 0 q = 0 x = 0
'Prompt$ = "Entrez la valeur de la variable. " 'variable = InputBox(Prompt$, "Saisie d'une variable")
With ProduitSelection .Hide Set .DataSource = rs .DataMember = "" With .Sections("Detaileleve").Controls For intCtrl = 1 To .Count If TypeOf .Item(intCtrl) Is RptLabel Then .Item(intCtrl).Caption = rs.Fields (q).Name & " :" q = q + 1 End If If TypeOf .Item(intCtrl) Is RptTextBox Then .Item(intCtrl).DataMember = "" .Item(intCtrl).DataField = rs(z).Name z = z + 1 End If Next intCtrl End With .Refresh .Show End With rs.Close 'cn.Close End Sub