Probleme de recordset dans base de données
Fermé
gg
-
18 juin 2002 à 10:01
Tom_Sayer Messages postés 26 Date d'inscription vendredi 14 juin 2002 Statut Membre Dernière intervention 24 juillet 2002 - 20 juin 2002 à 03:49
Tom_Sayer Messages postés 26 Date d'inscription vendredi 14 juin 2002 Statut Membre Dernière intervention 24 juillet 2002 - 20 juin 2002 à 03:49
A voir également:
- Probleme de recordset dans base de données
- Exemple base de données access à télécharger gratuit - Forum Access
- Formules excel de base - Guide
- La base de données de sécurité du serveur n'a pas de compte d'ordinateur pour la relation ✓ - Forum Réseau
- Périphérique système de base ✓ - Forum Pilotes (drivers)
- Tnt base de données vide ✓ - Forum TNT
14 réponses
mouse
Messages postés
136
Date d'inscription
mercredi 4 avril 2001
Statut
Membre
Dernière intervention
13 avril 2007
9
18 juin 2002 à 10:40
18 juin 2002 à 10:40
Salut,
pas tres explicite ton code. C'est quoi la description de l'erreur 91 ?
pas tres explicite ton code. C'est quoi la description de l'erreur 91 ?
mouse
Messages postés
136
Date d'inscription
mercredi 4 avril 2001
Statut
Membre
Dernière intervention
13 avril 2007
9
18 juin 2002 à 14:48
18 juin 2002 à 14:48
je suis desole, mais j'ai un peu de mal a suivre sans avoir la base de donnee sous les yeux...
essai ca :
Private Sub cmdUpdate_Click()
dim db as database, re as recordset
Dim Nom As String
Set db=OpenDatabase(frmCheminBase.txtFields.Text)
set re=db.Openrecordset("NouveauService")
Nom = "Nom = '" & DataCombo1.Text & "'"
frmNouveauService.Data1.DatabaseName = frmCheminBase.txtFields.Text
frmNouveauService.Data1.RecordSource = "NouveauService"
frmNouveauService.Adodc1.ConnectionString = frmCheminOLE.txtFields.Text
frmNouveauService.Adodc1.RecordSource = "NouveauService"
re.Findfirst Nom
if not re.nomatch then
frmNouveauService.Data1=re(le champ adecouate, la je sais pas...)
end if
If frmService2.DataCombo1.Text = "" Then
MsgBox "Aucun service n'a été sélectionner, veuillez vérifier votre saisie"
Else
If frmNouveauService.Data1.Recordset.Fields("Type de tableau") = "Divers Atelier et BE" Then
........................
essai ca :
Private Sub cmdUpdate_Click()
dim db as database, re as recordset
Dim Nom As String
Set db=OpenDatabase(frmCheminBase.txtFields.Text)
set re=db.Openrecordset("NouveauService")
Nom = "Nom = '" & DataCombo1.Text & "'"
frmNouveauService.Data1.DatabaseName = frmCheminBase.txtFields.Text
frmNouveauService.Data1.RecordSource = "NouveauService"
frmNouveauService.Adodc1.ConnectionString = frmCheminOLE.txtFields.Text
frmNouveauService.Adodc1.RecordSource = "NouveauService"
re.Findfirst Nom
if not re.nomatch then
frmNouveauService.Data1=re(le champ adecouate, la je sais pas...)
end if
If frmService2.DataCombo1.Text = "" Then
MsgBox "Aucun service n'a été sélectionner, veuillez vérifier votre saisie"
Else
If frmNouveauService.Data1.Recordset.Fields("Type de tableau") = "Divers Atelier et BE" Then
........................
mouse
Messages postés
136
Date d'inscription
mercredi 4 avril 2001
Statut
Membre
Dernière intervention
13 avril 2007
9
18 juin 2002 à 11:09
18 juin 2002 à 11:09
ok
en fait tu as un objet, et tu essaie d'affecter un valeur a une propriete qui n'existe pas sur cet objet.
Sais-tu a quel ligne il plante ?
en fait tu as un objet, et tu essaie d'affecter un valeur a une propriete qui n'existe pas sur cet objet.
Sais-tu a quel ligne il plante ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
mouse
Messages postés
136
Date d'inscription
mercredi 4 avril 2001
Statut
Membre
Dernière intervention
13 avril 2007
9
18 juin 2002 à 12:02
18 juin 2002 à 12:02
ok, j'avais pas vus...
c'est quoi tous les objets
frmNouveauService "un sous formulaire ?"
Data1 ca je sais pas...
En gros, tu peux pas faire une recherche sur l'objet Data1, si c'est une combo, affecte lui directement la valeur.
c'est quoi tous les objets
frmNouveauService "un sous formulaire ?"
Data1 ca je sais pas...
En gros, tu peux pas faire une recherche sur l'objet Data1, si c'est une combo, affecte lui directement la valeur.
pour que je sache ce que je doit mettre dans re(....)
tu peut me dire a quoi correspond cette commande
if not re.nomatch then
frmNouveauService.Data1=re(le champ adecouate, la je sais pas...)
end if
merci
tu peut me dire a quoi correspond cette commande
if not re.nomatch then
frmNouveauService.Data1=re(le champ adecouate, la je sais pas...)
end if
merci
mouse
Messages postés
136
Date d'inscription
mercredi 4 avril 2001
Statut
Membre
Dernière intervention
13 avril 2007
9
18 juin 2002 à 15:48
18 juin 2002 à 15:48
Je pense que "NouveauService" est une table ou une requete, et frmCheminBase.txtFields.Text est une base de donnees
donc lorsque j'ecris
Set db=OpenDatabase(frmCheminBase.txtFields.Text)
set re=db.Openrecordset("NouveauService")
je dis que db est la base de donnees et re est la table ou bien la requete dans cette base de donnees
ensuite
re.Findfirst Nom
je regarde si le critere NOM est dans la table
et si il le trouve
if not re.nomatch then
frmNouveauService.Data1=re(le champ adecouate, la je sais pas...)
end if
je lui affecte la valeur du champs. En gros ecrit re(nom_du_champs dont tu veux la valeur)
je pense que le nom du champs s'appele Nom
donc lorsque j'ecris
Set db=OpenDatabase(frmCheminBase.txtFields.Text)
set re=db.Openrecordset("NouveauService")
je dis que db est la base de donnees et re est la table ou bien la requete dans cette base de donnees
ensuite
re.Findfirst Nom
je regarde si le critere NOM est dans la table
et si il le trouve
if not re.nomatch then
frmNouveauService.Data1=re(le champ adecouate, la je sais pas...)
end if
je lui affecte la valeur du champs. En gros ecrit re(nom_du_champs dont tu veux la valeur)
je pense que le nom du champs s'appele Nom
mouse
Messages postés
136
Date d'inscription
mercredi 4 avril 2001
Statut
Membre
Dernière intervention
13 avril 2007
9
18 juin 2002 à 16:52
18 juin 2002 à 16:52
FIndFitrst te permet de trouver une valeur dans un objet recordset.
dans ton programme, il va chercher dans le champs Nom la valeur DataCombo1.Text
car au debut tu as ecrit :
Nom = "Nom = '" & DataCombo1.Text & "'"
dans ton programme, il va chercher dans le champs Nom la valeur DataCombo1.Text
car au debut tu as ecrit :
Nom = "Nom = '" & DataCombo1.Text & "'"
mouse
Messages postés
136
Date d'inscription
mercredi 4 avril 2001
Statut
Membre
Dernière intervention
13 avril 2007
9
19 juin 2002 à 11:24
19 juin 2002 à 11:24
Salut,
bon avant tout cofirme moi que :
NouveauService est soit une table, soit une requete
frmCheminBase.txtFields.Text est une base de donnees
si NouveauService est une table ou une requete, verifie qu'il y a le champs nom.
bon avant tout cofirme moi que :
NouveauService est soit une table, soit une requete
frmCheminBase.txtFields.Text est une base de donnees
si NouveauService est une table ou une requete, verifie qu'il y a le champs nom.
Tom_Sayer
Messages postés
26
Date d'inscription
vendredi 14 juin 2002
Statut
Membre
Dernière intervention
24 juillet 2002
19 juin 2002 à 01:37
19 juin 2002 à 01:37
bonsoir
<
si vous avez ce message surement l'ouverure de la base a echouée c'est pourqoui le recordset se bloque avec votre message .........
lancez un module et tapez une requete open_base
puis au niveau de
private sub _form load ()
call open _base
end sub
surement l'open de la base a échoué
de plus j'ai remarqué ds votrre code que le paramétrage se rélaise ds les propriété du Data control , flexgrid , .... pour évite d'avoir un code ambigu plus on simplifie plus on réduit la marge d'erreur
Peut être le tableau au musée est le seul objet qui écoute l
pour mémoire
lancez un module independent
dim db as database
dim st as recordset
public sub open _base ()
set db= opendatabase("c:\gestion\service.mdb")
set st= db.openrecordset("client", dbopentable")
msgbox" open base réussi",vbcritical
<
si vous avez ce message surement l'ouverure de la base a echouée c'est pourqoui le recordset se bloque avec votre message .........
lancez un module et tapez une requete open_base
puis au niveau de
private sub _form load ()
call open _base
end sub
surement l'open de la base a échoué
de plus j'ai remarqué ds votrre code que le paramétrage se rélaise ds les propriété du Data control , flexgrid , .... pour évite d'avoir un code ambigu plus on simplifie plus on réduit la marge d'erreur
Peut être le tableau au musée est le seul objet qui écoute l
pour mémoire
lancez un module independent
dim db as database
dim st as recordset
public sub open _base ()
set db= opendatabase("c:\gestion\service.mdb")
set st= db.openrecordset("client", dbopentable")
msgbox" open base réussi",vbcritical
mouse
Messages postés
136
Date d'inscription
mercredi 4 avril 2001
Statut
Membre
Dernière intervention
13 avril 2007
9
19 juin 2002 à 11:37
19 juin 2002 à 11:37
OK, je suis desole j'ai fait une erreur, comme je te le dit plus haut, confirme moi que
NouveauService est soit une table, soit une requete
frmCheminBase.txtFields.Text est une base de donnees
si NouveauService est une table ou une requete, verifie qu'il y a le champs nom
Enfin, si NouveauService est une table, a la place d'ecrire
set re=db.Openrecordset("NouveauService")
ecris
set re=db.Openrecordset("SELECT NouveauService.* FROM NouveauService")
si c'est une requete, c'est un peu plus compliquer
Dim Req As QueryDef
Set Req = db.QueryDefs("NouveauService")
set re=db.openrecordset(req.sql)
voila, si tu veux ecrit moi un mail, je te repondrai plus vite
A+
NouveauService est soit une table, soit une requete
frmCheminBase.txtFields.Text est une base de donnees
si NouveauService est une table ou une requete, verifie qu'il y a le champs nom
Enfin, si NouveauService est une table, a la place d'ecrire
set re=db.Openrecordset("NouveauService")
ecris
set re=db.Openrecordset("SELECT NouveauService.* FROM NouveauService")
si c'est une requete, c'est un peu plus compliquer
Dim Req As QueryDef
Set Req = db.QueryDefs("NouveauService")
set re=db.openrecordset(req.sql)
voila, si tu veux ecrit moi un mail, je te repondrai plus vite
A+
mouse
Messages postés
136
Date d'inscription
mercredi 4 avril 2001
Statut
Membre
Dernière intervention
13 avril 2007
9
19 juin 2002 à 11:42
19 juin 2002 à 11:42
je vais faire un peu plus court, dan le cas ou NouveauService est un requete, ecrit juste
set re=db.openrecordset(db.querydefs("NouveauService").sql)
set re=db.openrecordset(db.querydefs("NouveauService").sql)
mouse
Messages postés
136
Date d'inscription
mercredi 4 avril 2001
Statut
Membre
Dernière intervention
13 avril 2007
9
19 juin 2002 à 14:58
19 juin 2002 à 14:58
une table contient les donnees, une requete permet de trier les donnees d'une table
va voir la, y'a un tutorial tres bien fait
http://www.self-access.com/
va voir la, y'a un tutorial tres bien fait
http://www.self-access.com/
mouse
Messages postés
136
Date d'inscription
mercredi 4 avril 2001
Statut
Membre
Dernière intervention
13 avril 2007
9
19 juin 2002 à 15:24
19 juin 2002 à 15:24
OK, donc si NouveauService est une table,
a la place d'ecrire
set re=db.Openrecordset("NouveauService")
ecris
set re=db.Openrecordset("SELECT NouveauService.* FROM NouveauService")
a la place d'ecrire
set re=db.Openrecordset("NouveauService")
ecris
set re=db.Openrecordset("SELECT NouveauService.* FROM NouveauService")
Tom_Sayer
Messages postés
26
Date d'inscription
vendredi 14 juin 2002
Statut
Membre
Dernière intervention
24 juillet 2002
20 juin 2002 à 03:49
20 juin 2002 à 03:49
slt mouse :)
set re=db.Openrecordset("NouveauService")
ajoutez aussi :
set re=db.Openrecordset("NouveauService", dbopentable)
peut être c'est la cause ! précisez le type "table , snabshot ,
dbopentable
2 choses impossible à cacher : Amour & Ivresse.
set re=db.Openrecordset("NouveauService")
ajoutez aussi :
set re=db.Openrecordset("NouveauService", dbopentable)
peut être c'est la cause ! précisez le type "table , snabshot ,
dbopentable
2 choses impossible à cacher : Amour & Ivresse.