boujonr ,
j'ai un petit probleme avec ma requete, je n'y comprend=20
rien, il me donne l'erreur suivant au niveau de=20
l'openrecordset :
erreur d'execution '13': incompatibilit=E9 de type
voici mon code :
Dim resultat As Recordset ' R=E9sultat prendra la valeur=20
de la requette "Recordset" "Set resultat =3D=20
base.OpenRecordset(requete)"
Dim requete As String ' Variable caract=E8re pour la=20
requette SQL
Dim base As Database
Set base =3D CurrentDb ' La variable base r=E9cup=E8re la base=20
de donn=E9e ouverte par strConnection
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
Fred
Bonjour,
Je vais essayer de répondre à votre problème :
Voici un exemple de code : ' ' --- Déclaration des objets ' Dim db As database Dim rs As Recordset Dim sSQL As String Dim sID As String Dim sNOM As String ' ' --- Ouverture de la base ' Set db = CurrentDb
' ' --- Préparation de la requête SQL ' sSQL = "select [n° user],[nom] from t_user"
' ' --- On exécute la requête ' Set rs = db.openrecordset(sSQL) If Not rs.EOF Then While Not rs.EOF ' ' --- Lecture de la ligne courante ' If IsNull(rs.Fields("n° user").Value) = False Then sID = rs.Fields("n° user").Value Else sID = "" End If If IsNull(rs.Fields("nom").Value) = False Then sNOM = rs.Fields("nom").Value Else sNOM = "" End If
' ' --- Traitement de la ligne ' ' Traitement_ligne sID,sNOM
' ' --- Ligne suivante ' rs.MoveNext Wend End If
' ' --- On ferme le recordset ' rs.Close Set rs = Nothing
Frédéric
"steph" a écrit dans le message de news:1e2bc01c4550e$27aed990$ boujonr , j'ai un petit probleme avec ma requete, je n'y comprend rien, il me donne l'erreur suivant au niveau de l'openrecordset : erreur d'execution '13': incompatibilité de type
voici mon code :
Dim resultat As Recordset ' Résultat prendra la valeur de la requette "Recordset" "Set resultat base.OpenRecordset(requete)" Dim requete As String ' Variable caractère pour la requette SQL Dim base As Database
Set base = CurrentDb ' La variable base récupère la base de donnée ouverte par strConnection
' Requette SQL générée dans ACCESS requete = "SELECT T_User.Nom, T_User.[n° user] FROM T_User "
Set resultat = base.OpenRecordset(requete)
resultat.MoveFirst ' Le pointeur se place a la fin de la table
While resultat.EOF = False a.WriteLine ("-> " & resultat.Fields(0).Value) f = groupe1(" ", resultat.Fields(1).Value) resultat.MoveNext Wend
Bonjour,
Je vais essayer de répondre à votre problème :
Voici un exemple de code :
'
' --- Déclaration des objets
'
Dim db As database
Dim rs As Recordset
Dim sSQL As String
Dim sID As String
Dim sNOM As String
'
' --- Ouverture de la base
'
Set db = CurrentDb
'
' --- Préparation de la requête SQL
'
sSQL = "select [n° user],[nom] from t_user"
'
' --- On exécute la requête
'
Set rs = db.openrecordset(sSQL)
If Not rs.EOF Then
While Not rs.EOF
'
' --- Lecture de la ligne courante
'
If IsNull(rs.Fields("n° user").Value) = False Then
sID = rs.Fields("n° user").Value
Else
sID = ""
End If
If IsNull(rs.Fields("nom").Value) = False Then
sNOM = rs.Fields("nom").Value
Else
sNOM = ""
End If
'
' --- Traitement de la ligne
'
' Traitement_ligne sID,sNOM
'
' --- Ligne suivante
'
rs.MoveNext
Wend
End If
'
' --- On ferme le recordset
'
rs.Close
Set rs = Nothing
Frédéric
"steph" <anonymous@discussions.microsoft.com> a écrit dans le message de
news:1e2bc01c4550e$27aed990$a501280a@phx.gbl...
boujonr ,
j'ai un petit probleme avec ma requete, je n'y comprend
rien, il me donne l'erreur suivant au niveau de
l'openrecordset :
erreur d'execution '13': incompatibilité de type
voici mon code :
Dim resultat As Recordset ' Résultat prendra la valeur
de la requette "Recordset" "Set resultat base.OpenRecordset(requete)"
Dim requete As String ' Variable caractère pour la
requette SQL
Dim base As Database
Set base = CurrentDb ' La variable base récupère la base
de donnée ouverte par strConnection
' Requette SQL générée dans ACCESS
requete = "SELECT T_User.Nom, T_User.[n° user] FROM
T_User "
Set resultat = base.OpenRecordset(requete)
resultat.MoveFirst ' Le pointeur se place a la fin de la
table
While resultat.EOF = False
a.WriteLine ("-> " & resultat.Fields(0).Value)
f = groupe1(" ", resultat.Fields(1).Value)
resultat.MoveNext
Wend
Voici un exemple de code : ' ' --- Déclaration des objets ' Dim db As database Dim rs As Recordset Dim sSQL As String Dim sID As String Dim sNOM As String ' ' --- Ouverture de la base ' Set db = CurrentDb
' ' --- Préparation de la requête SQL ' sSQL = "select [n° user],[nom] from t_user"
' ' --- On exécute la requête ' Set rs = db.openrecordset(sSQL) If Not rs.EOF Then While Not rs.EOF ' ' --- Lecture de la ligne courante ' If IsNull(rs.Fields("n° user").Value) = False Then sID = rs.Fields("n° user").Value Else sID = "" End If If IsNull(rs.Fields("nom").Value) = False Then sNOM = rs.Fields("nom").Value Else sNOM = "" End If
' ' --- Traitement de la ligne ' ' Traitement_ligne sID,sNOM
' ' --- Ligne suivante ' rs.MoveNext Wend End If
' ' --- On ferme le recordset ' rs.Close Set rs = Nothing
Frédéric
"steph" a écrit dans le message de news:1e2bc01c4550e$27aed990$ boujonr , j'ai un petit probleme avec ma requete, je n'y comprend rien, il me donne l'erreur suivant au niveau de l'openrecordset : erreur d'execution '13': incompatibilité de type
voici mon code :
Dim resultat As Recordset ' Résultat prendra la valeur de la requette "Recordset" "Set resultat base.OpenRecordset(requete)" Dim requete As String ' Variable caractère pour la requette SQL Dim base As Database
Set base = CurrentDb ' La variable base récupère la base de donnée ouverte par strConnection
' Requette SQL générée dans ACCESS requete = "SELECT T_User.Nom, T_User.[n° user] FROM T_User "
Set resultat = base.OpenRecordset(requete)
resultat.MoveFirst ' Le pointeur se place a la fin de la table
While resultat.EOF = False a.WriteLine ("-> " & resultat.Fields(0).Value) f = groupe1(" ", resultat.Fields(1).Value) resultat.MoveNext Wend
steph
bonjour, j'ai testé le code mais il me met une erreur de compilation sur le dim db as database, type non defini. je suppose qu'il manque une reference mais la quelle ?
-----Message d'origine----- Bonjour,
Je vais essayer de répondre à votre problème :
Voici un exemple de code : ' ' --- Déclaration des objets ' Dim db As database Dim rs As Recordset Dim sSQL As String Dim sID As String Dim sNOM As String ' ' --- Ouverture de la base ' Set db = CurrentDb
' ' --- Préparation de la requête SQL ' sSQL = "select [n° user],[nom] from t_user"
' ' --- On exécute la requête ' Set rs = db.openrecordset(sSQL) If Not rs.EOF Then While Not rs.EOF ' ' --- Lecture de la ligne courante ' If IsNull(rs.Fields("n° user").Value) = False Then sID = rs.Fields("n° user").Value Else sID = "" End If If IsNull(rs.Fields("nom").Value) = False Then sNOM = rs.Fields("nom").Value Else sNOM = "" End If
' ' --- Traitement de la ligne ' ' Traitement_ligne sID,sNOM
' ' --- Ligne suivante ' rs.MoveNext Wend End If
' ' --- On ferme le recordset ' rs.Close Set rs = Nothing
Frédéric
"steph" a écrit
dans le message de
news:1e2bc01c4550e$27aed990$ boujonr , j'ai un petit probleme avec ma requete, je n'y comprend rien, il me donne l'erreur suivant au niveau de l'openrecordset : erreur d'execution '13': incompatibilité de type
voici mon code :
Dim resultat As Recordset ' Résultat prendra la valeur de la requette "Recordset" "Set resultat = base.OpenRecordset(requete)" Dim requete As String ' Variable caractère pour la requette SQL Dim base As Database
Set base = CurrentDb ' La variable base récupère la base de donnée ouverte par strConnection
' Requette SQL générée dans ACCESS requete = "SELECT T_User.Nom, T_User.[n° user] FROM T_User "
Set resultat = base.OpenRecordset(requete)
resultat.MoveFirst ' Le pointeur se place a la fin de la table
While resultat.EOF = False a.WriteLine ("-> " & resultat.Fields(0).Value) f = groupe1(" ", resultat.Fields(1).Value) resultat.MoveNext Wend
.
bonjour, j'ai testé le code mais il me met une erreur de
compilation sur le dim db as database, type non defini.
je suppose qu'il manque une reference mais la quelle ?
-----Message d'origine-----
Bonjour,
Je vais essayer de répondre à votre problème :
Voici un exemple de code :
'
' --- Déclaration des objets
'
Dim db As database
Dim rs As Recordset
Dim sSQL As String
Dim sID As String
Dim sNOM As String
'
' --- Ouverture de la base
'
Set db = CurrentDb
'
' --- Préparation de la requête SQL
'
sSQL = "select [n° user],[nom] from t_user"
'
' --- On exécute la requête
'
Set rs = db.openrecordset(sSQL)
If Not rs.EOF Then
While Not rs.EOF
'
' --- Lecture de la ligne courante
'
If IsNull(rs.Fields("n° user").Value) = False Then
sID = rs.Fields("n° user").Value
Else
sID = ""
End If
If IsNull(rs.Fields("nom").Value) = False Then
sNOM = rs.Fields("nom").Value
Else
sNOM = ""
End If
'
' --- Traitement de la ligne
'
' Traitement_ligne sID,sNOM
'
' --- Ligne suivante
'
rs.MoveNext
Wend
End If
'
' --- On ferme le recordset
'
rs.Close
Set rs = Nothing
Frédéric
"steph" <anonymous@discussions.microsoft.com> a écrit
dans le message de
news:1e2bc01c4550e$27aed990$a501280a@phx.gbl...
boujonr ,
j'ai un petit probleme avec ma requete, je n'y comprend
rien, il me donne l'erreur suivant au niveau de
l'openrecordset :
erreur d'execution '13': incompatibilité de type
voici mon code :
Dim resultat As Recordset ' Résultat prendra la valeur
de la requette "Recordset" "Set resultat =
base.OpenRecordset(requete)"
Dim requete As String ' Variable caractère pour la
requette SQL
Dim base As Database
Set base = CurrentDb ' La variable base récupère la base
de donnée ouverte par strConnection
' Requette SQL générée dans ACCESS
requete = "SELECT T_User.Nom, T_User.[n° user] FROM
T_User "
Set resultat = base.OpenRecordset(requete)
resultat.MoveFirst ' Le pointeur se place a la fin de la
table
While resultat.EOF = False
a.WriteLine ("-> " & resultat.Fields(0).Value)
f = groupe1(" ", resultat.Fields(1).Value)
resultat.MoveNext
Wend
bonjour, j'ai testé le code mais il me met une erreur de compilation sur le dim db as database, type non defini. je suppose qu'il manque une reference mais la quelle ?
-----Message d'origine----- Bonjour,
Je vais essayer de répondre à votre problème :
Voici un exemple de code : ' ' --- Déclaration des objets ' Dim db As database Dim rs As Recordset Dim sSQL As String Dim sID As String Dim sNOM As String ' ' --- Ouverture de la base ' Set db = CurrentDb
' ' --- Préparation de la requête SQL ' sSQL = "select [n° user],[nom] from t_user"
' ' --- On exécute la requête ' Set rs = db.openrecordset(sSQL) If Not rs.EOF Then While Not rs.EOF ' ' --- Lecture de la ligne courante ' If IsNull(rs.Fields("n° user").Value) = False Then sID = rs.Fields("n° user").Value Else sID = "" End If If IsNull(rs.Fields("nom").Value) = False Then sNOM = rs.Fields("nom").Value Else sNOM = "" End If
' ' --- Traitement de la ligne ' ' Traitement_ligne sID,sNOM
' ' --- Ligne suivante ' rs.MoveNext Wend End If
' ' --- On ferme le recordset ' rs.Close Set rs = Nothing
Frédéric
"steph" a écrit
dans le message de
news:1e2bc01c4550e$27aed990$ boujonr , j'ai un petit probleme avec ma requete, je n'y comprend rien, il me donne l'erreur suivant au niveau de l'openrecordset : erreur d'execution '13': incompatibilité de type
voici mon code :
Dim resultat As Recordset ' Résultat prendra la valeur de la requette "Recordset" "Set resultat = base.OpenRecordset(requete)" Dim requete As String ' Variable caractère pour la requette SQL Dim base As Database
Set base = CurrentDb ' La variable base récupère la base de donnée ouverte par strConnection
' Requette SQL générée dans ACCESS requete = "SELECT T_User.Nom, T_User.[n° user] FROM T_User "
Set resultat = base.OpenRecordset(requete)
resultat.MoveFirst ' Le pointeur se place a la fin de la table
While resultat.EOF = False a.WriteLine ("-> " & resultat.Fields(0).Value) f = groupe1(" ", resultat.Fields(1).Value) resultat.MoveNext Wend
.
Eric
Bonjour,
Soit la référence Microsoft DAO 3.x Object Library soit Microsoft ActiveX Data Object Library 2.6 ou +
Dans le cas de la 1ere référence, préfixes tes objets par DAO.Database, DAO.Recordset
A+ Eric
"steph" écrivait news:1f29601c45761 $87cbc860$:
bonjour, j'ai testé le code mais il me met une erreur de compilation sur le dim db as database, type non defini. je suppose qu'il manque une reference mais la quelle ?
Bonjour,
Soit la référence Microsoft DAO 3.x Object Library soit Microsoft ActiveX
Data Object Library 2.6 ou +
Dans le cas de la 1ere référence, préfixes tes objets par DAO.Database,
DAO.Recordset
bonjour, j'ai testé le code mais il me met une erreur de
compilation sur le dim db as database, type non defini.
je suppose qu'il manque une reference mais la quelle ?
Soit la référence Microsoft DAO 3.x Object Library soit Microsoft ActiveX Data Object Library 2.6 ou +
Dans le cas de la 1ere référence, préfixes tes objets par DAO.Database, DAO.Recordset
A+ Eric
"steph" écrivait news:1f29601c45761 $87cbc860$:
bonjour, j'ai testé le code mais il me met une erreur de compilation sur le dim db as database, type non defini. je suppose qu'il manque une reference mais la quelle ?
steph
Ok, j'ai modifié ça mais maintenant il me met une "erreur d'execution '3464' type de données incompatible dans l'expression du critère" à la ligne de l'openrecordset
???
-----Message d'origine----- Bonjour,
Soit la référence Microsoft DAO 3.x Object Library soit
Microsoft ActiveX
Data Object Library 2.6 ou +
Dans le cas de la 1ere référence, préfixes tes objets par
DAO.Database,
DAO.Recordset
A+ Eric
"steph" écrivait
news:1f29601c45761
$87cbc860$:
bonjour, j'ai testé le code mais il me met une erreur
de
compilation sur le dim db as database, type non defini. je suppose qu'il manque une reference mais la quelle ?
.
Ok, j'ai modifié ça mais maintenant il me met une "erreur
d'execution '3464' type de données incompatible dans
l'expression du critère" à la ligne de l'openrecordset
???
-----Message d'origine-----
Bonjour,
Soit la référence Microsoft DAO 3.x Object Library soit
Microsoft ActiveX
Data Object Library 2.6 ou +
Dans le cas de la 1ere référence, préfixes tes objets par
Ok, j'ai modifié ça mais maintenant il me met une "erreur d'execution '3464' type de données incompatible dans l'expression du critère" à la ligne de l'openrecordset
???
-----Message d'origine----- Bonjour,
Soit la référence Microsoft DAO 3.x Object Library soit
Microsoft ActiveX
Data Object Library 2.6 ou +
Dans le cas de la 1ere référence, préfixes tes objets par
DAO.Database,
DAO.Recordset
A+ Eric
"steph" écrivait
news:1f29601c45761
$87cbc860$:
bonjour, j'ai testé le code mais il me met une erreur
de
compilation sur le dim db as database, type non defini. je suppose qu'il manque une reference mais la quelle ?
.
steph
désolé, voici l'intégralité de mon code et l'erreur est dans la fonction groupe1 au niveau de l'openrecordset
désolé pour le bordel.
Option Compare Database
Global a As Object
Sub list()
Set fs = CreateObject("Scripting.FileSystemObject") Set a = fs.CreateTextFile("fichiertest.doc", True) a.WriteLine ("Liste des groupes par user.") a.WriteLine ("")
Dim resultat As DAO.Recordset ' Résultat prendra la valeur de la requette "Recordset" "Set resultat = base.OpenRecordset(requete)" Dim requete As String ' Variable caractère pour la requette SQL Dim db As DAO.database
Set db = CurrentDb
' Requette SQL générée dans ACCESS requete = "SELECT T_User.Nom, T_User.[n° user] FROM T_User "
Set resultat = db.OpenRecordset(requete)
resultat.MoveFirst ' Le pointeur se place a la fin de la table
While resultat.EOF = False a.WriteLine ("-> " & resultat.Fields(0).Value) f = groupe1(" ", resultat.Fields(1).Value) resultat.MoveNext Wend
resultat.Close Set resultat = Nothing a.Close
End Sub
Function groupe1(tabu As String, num As Integer)
Dim requete1 As String ' Variable caractère pour la requette SQL Dim resultat1 As DAO.Recordset Dim db1 As DAO.database
Set db1 = CurrentDb
' Requette SQL générée dans ACCESS requete1 = "SELECT T_Groupe.Nom, T_Groupe.[n° groupe] FROM T_Groupe INNER JOIN A_GU ON T_Groupe.[n° groupe] = A_GU.ce_G WHERE (((A_GU.ce_U)='" & num & "'))"
' Résultat prend la valeur de la requette Set resultat1 = db1.OpenRecordset(requete1) ' recordset est le résultat de recordSource
resultat1.MoveFirst ' Le pointeur se place a la fin de la table
While resultat1.EOF = False a.WriteLine (tabu & "-> " & resultat1.Fields(0).Value) f = groupe2(tabu & " ", resultat1.Fields(1).Value) resultat1.MoveNext Wend
resultat1.Close Set resultat1 = Nothing
End Function
Function groupe2(tabu As String, num As Integer)
Dim requete2 As String ' Variable caractère pour la requette SQL Dim resultat2 As DAO.Recordset Dim db2 As DAO.database
Set db2 = CurrentDb ' Requette SQL générée dans ACCESS requete2 = "SELECT T_Groupe.Nom, T_Groupe.[n° groupe] FROM T_Groupe INNER JOIN A_GG ON T_Groupe.[n° groupe] = A_GG.n° G WHERE (((A_GG.N°Gf)=" & num & "))" ' Résultat prend la valeur de la requette Set resultat2 = db2.OpenRecordset(requete2) ' recordset est le résultat de recordSource resultat.MoveFirst ' Le pointeur se place a la fin de la table While resultat2.EOF = False a.WriteLine (tabu & "-> " & resultat2.Fields(0).Value) f = groupe2(tabu & " ", resultat2.Fields(1).Value) resultat2.MoveNext Wend resultat2.Close Set resultat2 = Nothing
End Function
désolé, voici l'intégralité de mon code et l'erreur est
dans la fonction groupe1 au niveau de l'openrecordset
désolé pour le bordel.
Option Compare Database
Global a As Object
Sub list()
Set fs = CreateObject("Scripting.FileSystemObject")
Set a = fs.CreateTextFile("fichiertest.doc", True)
a.WriteLine ("Liste des groupes par user.")
a.WriteLine ("")
Dim resultat As DAO.Recordset ' Résultat prendra la valeur
de la requette "Recordset" "Set resultat =
base.OpenRecordset(requete)"
Dim requete As String ' Variable caractère pour la
requette SQL
Dim db As DAO.database
Set db = CurrentDb
' Requette SQL générée dans ACCESS
requete = "SELECT T_User.Nom, T_User.[n° user] FROM
T_User "
Set resultat = db.OpenRecordset(requete)
resultat.MoveFirst ' Le pointeur se place a la fin de la
table
While resultat.EOF = False
a.WriteLine ("-> " & resultat.Fields(0).Value)
f = groupe1(" ", resultat.Fields(1).Value)
resultat.MoveNext
Wend
resultat.Close
Set resultat = Nothing
a.Close
End Sub
Function groupe1(tabu As String, num As Integer)
Dim requete1 As String ' Variable caractère pour la
requette SQL
Dim resultat1 As DAO.Recordset
Dim db1 As DAO.database
Set db1 = CurrentDb
' Requette SQL générée dans ACCESS
requete1 = "SELECT T_Groupe.Nom, T_Groupe.[n° groupe] FROM
T_Groupe INNER JOIN A_GU ON T_Groupe.[n° groupe] =
A_GU.ce_G WHERE (((A_GU.ce_U)='" & num & "'))"
' Résultat prend la valeur de la requette
Set resultat1 = db1.OpenRecordset(requete1) ' recordset
est le résultat de recordSource
resultat1.MoveFirst ' Le pointeur se place a la fin de la
table
While resultat1.EOF = False
a.WriteLine (tabu & "-> " & resultat1.Fields(0).Value)
f = groupe2(tabu & " ", resultat1.Fields(1).Value)
resultat1.MoveNext
Wend
resultat1.Close
Set resultat1 = Nothing
End Function
Function groupe2(tabu As String, num As Integer)
Dim requete2 As String ' Variable caractère pour la
requette SQL
Dim resultat2 As DAO.Recordset
Dim db2 As DAO.database
Set db2 = CurrentDb
' Requette SQL générée dans ACCESS
requete2 = "SELECT T_Groupe.Nom, T_Groupe.[n° groupe] FROM
T_Groupe INNER JOIN A_GG ON T_Groupe.[n° groupe] = A_GG.n°
G WHERE (((A_GG.N°Gf)=" & num & "))"
' Résultat prend la valeur de la requette
Set resultat2 = db2.OpenRecordset(requete2) ' recordset
est le résultat de recordSource
resultat.MoveFirst ' Le pointeur se place a la fin de la
table
While resultat2.EOF = False
a.WriteLine (tabu & "-> " & resultat2.Fields(0).Value)
f = groupe2(tabu & " ", resultat2.Fields(1).Value)
resultat2.MoveNext
Wend
resultat2.Close
Set resultat2 = Nothing
désolé, voici l'intégralité de mon code et l'erreur est dans la fonction groupe1 au niveau de l'openrecordset
désolé pour le bordel.
Option Compare Database
Global a As Object
Sub list()
Set fs = CreateObject("Scripting.FileSystemObject") Set a = fs.CreateTextFile("fichiertest.doc", True) a.WriteLine ("Liste des groupes par user.") a.WriteLine ("")
Dim resultat As DAO.Recordset ' Résultat prendra la valeur de la requette "Recordset" "Set resultat = base.OpenRecordset(requete)" Dim requete As String ' Variable caractère pour la requette SQL Dim db As DAO.database
Set db = CurrentDb
' Requette SQL générée dans ACCESS requete = "SELECT T_User.Nom, T_User.[n° user] FROM T_User "
Set resultat = db.OpenRecordset(requete)
resultat.MoveFirst ' Le pointeur se place a la fin de la table
While resultat.EOF = False a.WriteLine ("-> " & resultat.Fields(0).Value) f = groupe1(" ", resultat.Fields(1).Value) resultat.MoveNext Wend
resultat.Close Set resultat = Nothing a.Close
End Sub
Function groupe1(tabu As String, num As Integer)
Dim requete1 As String ' Variable caractère pour la requette SQL Dim resultat1 As DAO.Recordset Dim db1 As DAO.database
Set db1 = CurrentDb
' Requette SQL générée dans ACCESS requete1 = "SELECT T_Groupe.Nom, T_Groupe.[n° groupe] FROM T_Groupe INNER JOIN A_GU ON T_Groupe.[n° groupe] = A_GU.ce_G WHERE (((A_GU.ce_U)='" & num & "'))"
' Résultat prend la valeur de la requette Set resultat1 = db1.OpenRecordset(requete1) ' recordset est le résultat de recordSource
resultat1.MoveFirst ' Le pointeur se place a la fin de la table
While resultat1.EOF = False a.WriteLine (tabu & "-> " & resultat1.Fields(0).Value) f = groupe2(tabu & " ", resultat1.Fields(1).Value) resultat1.MoveNext Wend
resultat1.Close Set resultat1 = Nothing
End Function
Function groupe2(tabu As String, num As Integer)
Dim requete2 As String ' Variable caractère pour la requette SQL Dim resultat2 As DAO.Recordset Dim db2 As DAO.database
Set db2 = CurrentDb ' Requette SQL générée dans ACCESS requete2 = "SELECT T_Groupe.Nom, T_Groupe.[n° groupe] FROM T_Groupe INNER JOIN A_GG ON T_Groupe.[n° groupe] = A_GG.n° G WHERE (((A_GG.N°Gf)=" & num & "))" ' Résultat prend la valeur de la requette Set resultat2 = db2.OpenRecordset(requete2) ' recordset est le résultat de recordSource resultat.MoveFirst ' Le pointeur se place a la fin de la table While resultat2.EOF = False a.WriteLine (tabu & "-> " & resultat2.Fields(0).Value) f = groupe2(tabu & " ", resultat2.Fields(1).Value) resultat2.MoveNext Wend resultat2.Close Set resultat2 = Nothing
End Function
Eric
re, ton erreur est dans le sql. Dans ta fonction Groupe1 tu passes num as Integer et dans le sql sur ta clause where tu mets : WHERE (((A_GU.ce_U)='" & num & "'))" il faut que tu supprimes les ' qui encadrent la variable num donc WHERE (((A_GU.ce_U)=" & num & "))"
A+ Eric
"steph" écrivait news:1ee0b01c45770 $23dc4b90$:
désolé, voici l'intégralité de mon code et l'erreur est dans la fonction groupe1 au niveau de l'openrecordset
désolé pour le bordel.
Option Compare Database
Global a As Object
Sub list()
Set fs = CreateObject("Scripting.FileSystemObject") Set a = fs.CreateTextFile("fichiertest.doc", True) a.WriteLine ("Liste des groupes par user.") a.WriteLine ("")
Dim resultat As DAO.Recordset ' Résultat prendra la valeur de la requette "Recordset" "Set resultat = base.OpenRecordset(requete)" Dim requete As String ' Variable caractère pour la requette SQL Dim db As DAO.database
Set db = CurrentDb
' Requette SQL générée dans ACCESS requete = "SELECT T_User.Nom, T_User.[n° user] FROM T_User "
Set resultat = db.OpenRecordset(requete)
resultat.MoveFirst ' Le pointeur se place a la fin de la table
While resultat.EOF = False a.WriteLine ("-> " & resultat.Fields(0).Value) f = groupe1(" ", resultat.Fields(1).Value) resultat.MoveNext Wend
resultat.Close Set resultat = Nothing a.Close
End Sub
Function groupe1(tabu As String, num As Integer)
Dim requete1 As String ' Variable caractère pour la requette SQL Dim resultat1 As DAO.Recordset Dim db1 As DAO.database
Set db1 = CurrentDb
' Requette SQL générée dans ACCESS requete1 = "SELECT T_Groupe.Nom, T_Groupe.[n° groupe] FROM T_Groupe INNER JOIN A_GU ON T_Groupe.[n° groupe] = A_GU.ce_G WHERE (((A_GU.ce_U)='" & num & "'))"
' Résultat prend la valeur de la requette Set resultat1 = db1.OpenRecordset(requete1) ' recordset est le résultat de recordSource
resultat1.MoveFirst ' Le pointeur se place a la fin de la table
While resultat1.EOF = False a.WriteLine (tabu & "-> " & resultat1.Fields(0).Value) f = groupe2(tabu & " ", resultat1.Fields(1).Value) resultat1.MoveNext Wend
resultat1.Close Set resultat1 = Nothing
End Function
Function groupe2(tabu As String, num As Integer)
Dim requete2 As String ' Variable caractère pour la requette SQL Dim resultat2 As DAO.Recordset Dim db2 As DAO.database
Set db2 = CurrentDb ' Requette SQL générée dans ACCESS requete2 = "SELECT T_Groupe.Nom, T_Groupe.[n° groupe] FROM T_Groupe INNER JOIN A_GG ON T_Groupe.[n° groupe] = A_GG.n° G WHERE (((A_GG.N°Gf)=" & num & "))" ' Résultat prend la valeur de la requette Set resultat2 = db2.OpenRecordset(requete2) ' recordset est le résultat de recordSource resultat.MoveFirst ' Le pointeur se place a la fin de la table While resultat2.EOF = False a.WriteLine (tabu & "-> " & resultat2.Fields(0).Value) f = groupe2(tabu & " ", resultat2.Fields(1).Value) resultat2.MoveNext Wend resultat2.Close Set resultat2 = Nothing
End Function
re,
ton erreur est dans le sql.
Dans ta fonction Groupe1 tu passes num as Integer et dans le sql sur ta
clause where tu mets :
WHERE (((A_GU.ce_U)='" & num & "'))"
il faut que tu supprimes les ' qui encadrent la variable num
donc
WHERE (((A_GU.ce_U)=" & num & "))"
désolé, voici l'intégralité de mon code et l'erreur est
dans la fonction groupe1 au niveau de l'openrecordset
désolé pour le bordel.
Option Compare Database
Global a As Object
Sub list()
Set fs = CreateObject("Scripting.FileSystemObject")
Set a = fs.CreateTextFile("fichiertest.doc", True)
a.WriteLine ("Liste des groupes par user.")
a.WriteLine ("")
Dim resultat As DAO.Recordset ' Résultat prendra la valeur
de la requette "Recordset" "Set resultat =
base.OpenRecordset(requete)"
Dim requete As String ' Variable caractère pour la
requette SQL
Dim db As DAO.database
Set db = CurrentDb
' Requette SQL générée dans ACCESS
requete = "SELECT T_User.Nom, T_User.[n° user] FROM
T_User "
Set resultat = db.OpenRecordset(requete)
resultat.MoveFirst ' Le pointeur se place a la fin de la
table
While resultat.EOF = False
a.WriteLine ("-> " & resultat.Fields(0).Value)
f = groupe1(" ", resultat.Fields(1).Value)
resultat.MoveNext
Wend
resultat.Close
Set resultat = Nothing
a.Close
End Sub
Function groupe1(tabu As String, num As Integer)
Dim requete1 As String ' Variable caractère pour la
requette SQL
Dim resultat1 As DAO.Recordset
Dim db1 As DAO.database
Set db1 = CurrentDb
' Requette SQL générée dans ACCESS
requete1 = "SELECT T_Groupe.Nom, T_Groupe.[n° groupe] FROM
T_Groupe INNER JOIN A_GU ON T_Groupe.[n° groupe] =
A_GU.ce_G WHERE (((A_GU.ce_U)='" & num & "'))"
' Résultat prend la valeur de la requette
Set resultat1 = db1.OpenRecordset(requete1) ' recordset
est le résultat de recordSource
resultat1.MoveFirst ' Le pointeur se place a la fin de la
table
While resultat1.EOF = False
a.WriteLine (tabu & "-> " & resultat1.Fields(0).Value)
f = groupe2(tabu & " ", resultat1.Fields(1).Value)
resultat1.MoveNext
Wend
resultat1.Close
Set resultat1 = Nothing
End Function
Function groupe2(tabu As String, num As Integer)
Dim requete2 As String ' Variable caractère pour la
requette SQL
Dim resultat2 As DAO.Recordset
Dim db2 As DAO.database
Set db2 = CurrentDb
' Requette SQL générée dans ACCESS
requete2 = "SELECT T_Groupe.Nom, T_Groupe.[n° groupe] FROM
T_Groupe INNER JOIN A_GG ON T_Groupe.[n° groupe] = A_GG.n°
G WHERE (((A_GG.N°Gf)=" & num & "))"
' Résultat prend la valeur de la requette
Set resultat2 = db2.OpenRecordset(requete2) ' recordset
est le résultat de recordSource
resultat.MoveFirst ' Le pointeur se place a la fin de la
table
While resultat2.EOF = False
a.WriteLine (tabu & "-> " & resultat2.Fields(0).Value)
f = groupe2(tabu & " ", resultat2.Fields(1).Value)
resultat2.MoveNext
Wend
resultat2.Close
Set resultat2 = Nothing
re, ton erreur est dans le sql. Dans ta fonction Groupe1 tu passes num as Integer et dans le sql sur ta clause where tu mets : WHERE (((A_GU.ce_U)='" & num & "'))" il faut que tu supprimes les ' qui encadrent la variable num donc WHERE (((A_GU.ce_U)=" & num & "))"
A+ Eric
"steph" écrivait news:1ee0b01c45770 $23dc4b90$:
désolé, voici l'intégralité de mon code et l'erreur est dans la fonction groupe1 au niveau de l'openrecordset
désolé pour le bordel.
Option Compare Database
Global a As Object
Sub list()
Set fs = CreateObject("Scripting.FileSystemObject") Set a = fs.CreateTextFile("fichiertest.doc", True) a.WriteLine ("Liste des groupes par user.") a.WriteLine ("")
Dim resultat As DAO.Recordset ' Résultat prendra la valeur de la requette "Recordset" "Set resultat = base.OpenRecordset(requete)" Dim requete As String ' Variable caractère pour la requette SQL Dim db As DAO.database
Set db = CurrentDb
' Requette SQL générée dans ACCESS requete = "SELECT T_User.Nom, T_User.[n° user] FROM T_User "
Set resultat = db.OpenRecordset(requete)
resultat.MoveFirst ' Le pointeur se place a la fin de la table
While resultat.EOF = False a.WriteLine ("-> " & resultat.Fields(0).Value) f = groupe1(" ", resultat.Fields(1).Value) resultat.MoveNext Wend
resultat.Close Set resultat = Nothing a.Close
End Sub
Function groupe1(tabu As String, num As Integer)
Dim requete1 As String ' Variable caractère pour la requette SQL Dim resultat1 As DAO.Recordset Dim db1 As DAO.database
Set db1 = CurrentDb
' Requette SQL générée dans ACCESS requete1 = "SELECT T_Groupe.Nom, T_Groupe.[n° groupe] FROM T_Groupe INNER JOIN A_GU ON T_Groupe.[n° groupe] = A_GU.ce_G WHERE (((A_GU.ce_U)='" & num & "'))"
' Résultat prend la valeur de la requette Set resultat1 = db1.OpenRecordset(requete1) ' recordset est le résultat de recordSource
resultat1.MoveFirst ' Le pointeur se place a la fin de la table
While resultat1.EOF = False a.WriteLine (tabu & "-> " & resultat1.Fields(0).Value) f = groupe2(tabu & " ", resultat1.Fields(1).Value) resultat1.MoveNext Wend
resultat1.Close Set resultat1 = Nothing
End Function
Function groupe2(tabu As String, num As Integer)
Dim requete2 As String ' Variable caractère pour la requette SQL Dim resultat2 As DAO.Recordset Dim db2 As DAO.database
Set db2 = CurrentDb ' Requette SQL générée dans ACCESS requete2 = "SELECT T_Groupe.Nom, T_Groupe.[n° groupe] FROM T_Groupe INNER JOIN A_GG ON T_Groupe.[n° groupe] = A_GG.n° G WHERE (((A_GG.N°Gf)=" & num & "))" ' Résultat prend la valeur de la requette Set resultat2 = db2.OpenRecordset(requete2) ' recordset est le résultat de recordSource resultat.MoveFirst ' Le pointeur se place a la fin de la table While resultat2.EOF = False a.WriteLine (tabu & "-> " & resultat2.Fields(0).Value) f = groupe2(tabu & " ", resultat2.Fields(1).Value) resultat2.MoveNext Wend resultat2.Close Set resultat2 = Nothing
End Function
merci, mais maintenant j'ai une autre erreur qui est "erreur d'execution '3061': trop peu de paramètres. 1 attendu." au niveau de l'openrecordset de ma fonction groupe2.
merci, mais maintenant j'ai une autre erreur qui
est "erreur d'execution '3061': trop peu de paramètres. 1
attendu." au niveau de l'openrecordset de ma fonction
groupe2.
merci, mais maintenant j'ai une autre erreur qui est "erreur d'execution '3061': trop peu de paramètres. 1 attendu." au niveau de l'openrecordset de ma fonction groupe2.
Eric
écrivait news:1f1d301c45779$1d935270 $:
merci, mais maintenant j'ai une autre erreur qui est "erreur d'execution '3061': trop peu de paramètres. 1 attendu." au niveau de l'openrecordset de ma fonction groupe2.
Voici ta chaine sql: ' Requette SQL générée dans ACCESS requete2 = "SELECT T_Groupe.Nom, T_Groupe.[n° groupe] FROM T_Groupe INNER JOIN A_GG ON T_Groupe.[n° groupe] = A_GG.n° G WHERE (((A_GG.N°Gf)=" & num & "))"
Personnellement, j'encadrerai de crochets droits les champs : A_GG.n°G (il y a peut-être un espace entre le symbole ° et le G, pas visible sur ton post car retour à la ligne) et le champs :A_GG.N°Gf car ils contiennent un symbole(°) source de problèmes. A_GG.[n°G] et A_GG.[N°Gf]
Le message que tu donnes est du au fait qu'Access ne reconnait pas un nom des champs de la requête. Je ne peux pas te donner beaucoup plus d'infos car je ne connais pas les noms des champs ni leur écriture. L'erreur n'est pas du aux champs du Select (car idem requête1). Donc a vérifier les 2 autres :A_GG.n°G (ou A_GG.n° G),A_GG.N°Gf. Y a t il des espaces ? sont-ils bien orthographiés ?
merci, mais maintenant j'ai une autre erreur qui
est "erreur d'execution '3061': trop peu de paramètres. 1
attendu." au niveau de l'openrecordset de ma fonction
groupe2.
Voici ta chaine sql:
' Requette SQL générée dans ACCESS
requete2 = "SELECT T_Groupe.Nom, T_Groupe.[n° groupe] FROM
T_Groupe INNER JOIN A_GG ON T_Groupe.[n° groupe] = A_GG.n°
G WHERE (((A_GG.N°Gf)=" & num & "))"
Personnellement, j'encadrerai de crochets droits les champs :
A_GG.n°G (il y a peut-être un espace entre le symbole ° et le G, pas
visible sur ton post car retour à la ligne)
et le champs :A_GG.N°Gf car ils contiennent un symbole(°) source de
problèmes. A_GG.[n°G] et A_GG.[N°Gf]
Le message que tu donnes est du au fait qu'Access ne reconnait pas un nom
des champs de la requête. Je ne peux pas te donner beaucoup plus d'infos
car je ne connais pas les noms des champs ni leur écriture.
L'erreur n'est pas du aux champs du Select (car idem requête1). Donc a
vérifier les 2 autres :A_GG.n°G (ou A_GG.n° G),A_GG.N°Gf. Y a t il des
espaces ? sont-ils bien orthographiés ?
merci, mais maintenant j'ai une autre erreur qui est "erreur d'execution '3061': trop peu de paramètres. 1 attendu." au niveau de l'openrecordset de ma fonction groupe2.
Voici ta chaine sql: ' Requette SQL générée dans ACCESS requete2 = "SELECT T_Groupe.Nom, T_Groupe.[n° groupe] FROM T_Groupe INNER JOIN A_GG ON T_Groupe.[n° groupe] = A_GG.n° G WHERE (((A_GG.N°Gf)=" & num & "))"
Personnellement, j'encadrerai de crochets droits les champs : A_GG.n°G (il y a peut-être un espace entre le symbole ° et le G, pas visible sur ton post car retour à la ligne) et le champs :A_GG.N°Gf car ils contiennent un symbole(°) source de problèmes. A_GG.[n°G] et A_GG.[N°Gf]
Le message que tu donnes est du au fait qu'Access ne reconnait pas un nom des champs de la requête. Je ne peux pas te donner beaucoup plus d'infos car je ne connais pas les noms des champs ni leur écriture. L'erreur n'est pas du aux champs du Select (car idem requête1). Donc a vérifier les 2 autres :A_GG.n°G (ou A_GG.n° G),A_GG.N°Gf. Y a t il des espaces ? sont-ils bien orthographiés ?