Re: Groupe d'options avec plusieurs réponses possibles Options

Le
FujitsuChaos
Bonjour 3Stone

J'ai un message d'erreur :

Set rst = db.OpenRecordset("dbo_Tble_Inter_02")

Merci d'aide

Fujitsuchaos
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
3stone
Le #6357251
Salut,

"FujitsuChaos"
| J'ai un message d'erreur :
|
| Set rst = db.OpenRecordset("dbo_Tble_Inter_02")


As-tu déclarer ta variable "db" et "rst" ?

Dim db as DAO.Database
Dim est as DAO.Recordset

et as-tu activé la référence "DAO" ?


PS: Il est d'usage de s'adresser au groupe et non à quelqu'un en particulier ;-)

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)
FujitsuChaos
Le #6356761
Bonjour

Deux table en local :
Tble Inter 01 (Clé Primaire : NuAutoIntervention,.....)
Tble Inter 02 (Clé Primaire : NuAutoQuest1, LienInter,....)

Private Sub Form_Open(Cancel As Integer)
Dim db As DAO.Database
Dim rst As DAO.Recordset
Dim i
Dim cpt
Set db = CurrentDb
Set rst = db.OpenRecordset("SELECT * FROM [Tble Inter 02] WHERE LienInter="
& NuAutoIntervention)
rst.MoveLast
rst.MoveFirst
.....
.....
End Sub

Private Sub BtnUpdate_Click()
Dim db As DAO.Database
Dim rst As DAO.Recordset
Dim i
Set db = CurrentDb
Set rst = db.OpenRecordset("Tble Inter 02")
DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
If Me.Dirty Then DoCmd.RunCommand acCmdSaveRecord
'Suppression de tous les anciens enregistrements
DoCmd.SetWarnings False
DoCmd.RunSQL ("DELETE * FROM [Tble Inter 02] WHERE LienInter=" &
Me.NuAutoIntervention)
DoCmd.SetWarnings True
.....
.....
End sub

AUCUN MESSAGE D'ERREUR

Je changer les tables par réseau (SQL Expresse 2005):
dbo_Tble Inter 01 (Clé Primaire : NuAutoIntervention,.....;)
dbo_Tble Inter 02 (Clé Primaire : NuAutoQuest1, LienInter,....)

MESSAGE D'ERREUR :

DoCmd.RunSQL ("DELETE * FROM [dbo_Tble Inter 02] WHERE LienInter=" &
Me.NuAutoIntervention) 'dans le Private Sub Form_Open(Cancel As Integer)
et
Set rst = db.OpenRecordset("dbo_Tble Inter 02") 'dans le Private Sub
BtnUpdate_Click()

Je trouve ça vraiment bizarre.
Merci pour votre aide...

Marco



"3stone" discussion : #
Salut,

"FujitsuChaos"
| J'ai un message d'erreur :
|
| Set rst = db.OpenRecordset("dbo_Tble_Inter_02")


As-tu déclarer ta variable "db" et "rst" ?

Dim db as DAO.Database
Dim est as DAO.Recordset

et as-tu activé la référence "DAO" ?


PS: Il est d'usage de s'adresser au groupe et non à quelqu'un en
particulier ;-)

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)





3stone
Le #6356251
Salut,

"FujitsuChaos"
| Deux table en local :
| Tble Inter 01 (Clé Primaire : NuAutoIntervention,.....)
| Tble Inter 02 (Clé Primaire : NuAutoQuest1, LienInter,....)
|
| Private Sub Form_Open(Cancel As Integer)
| Dim db As DAO.Database
| Dim rst As DAO.Recordset
| Dim i
| Dim cpt


i et cpt sont ici déclaré variant, par défaut...


| Set db = CurrentDb
| Set rst = db.OpenRecordset("SELECT * FROM [Tble Inter 02] WHERE LienInter="
| & NuAutoIntervention)
| rst.MoveLast
| rst.MoveFirst

pourquoi ces deux mouvement ?
de plus, si le recodset est vide, tu auras une erreur !

donc, plutôt après le Set rst= ...

if Not rst.EOF Then
...
...
End if



| .....
| .....
| End Sub
|
| Private Sub BtnUpdate_Click()
| Dim db As DAO.Database
| Dim rst As DAO.Recordset
| Dim i

idem, i est variant !

| Set db = CurrentDb
| Set rst = db.OpenRecordset("Tble Inter 02")
| DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
| If Me.Dirty Then DoCmd.RunCommand acCmdSaveRecord
| 'Suppression de tous les anciens enregistrements
| DoCmd.SetWarnings False
| DoCmd.RunSQL ("DELETE * FROM [Tble Inter 02] WHERE LienInter=" &
| Me.NuAutoIntervention)
| DoCmd.SetWarnings True


les DoCmd ne sont pas forcément joli dans ce contexte...
tout comme les DoMenuItem depuis Access 97

if Me.Dirty Then DoCmd.RunCommand acCmdSaveRecord

est une autre abération... écrire simplement :

Me.Dirty = False



| .....
| .....
| End sub
|
| AUCUN MESSAGE D'ERREUR
|
| Je changer les tables par réseau (SQL Expresse 2005):
| dbo_Tble Inter 01 (Clé Primaire : NuAutoIntervention,.....;)
| dbo_Tble Inter 02 (Clé Primaire : NuAutoQuest1, LienInter,....)
|
| MESSAGE D'ERREUR :
|
| DoCmd.RunSQL ("DELETE * FROM [dbo_Tble Inter 02] WHERE LienInter=" &
| Me.NuAutoIntervention) 'dans le Private Sub Form_Open(Cancel As Integer)


Dans l'événement "Open" du formulaire, les données ne sont pas encore
présentes ! Essaies sur le OnLoad (chargement)


| et
| Set rst = db.OpenRecordset("dbo_Tble Inter 02") 'dans le Private Sub
| BtnUpdate_Click()


Sur click d'un bouton tu fait juste un set rst ?


| Je trouve ça vraiment bizarre.

Ce n'est pas parce que le VBA est "interprété" que le traducteur
est forcément polyglotte ;-))

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)
FujitsuChaos
Le #6351581
Bonjour 3stone

Au moment, j'utilise entre deux base de donnée Access.
Entre SQL Server et un base de donnée Access, plus tard car toujours message
erreur.

Merci à 3stone

Marco



"3stone" discussion : #
Salut,

"FujitsuChaos"
| Deux table en local :
| Tble Inter 01 (Clé Primaire : NuAutoIntervention,.....)
| Tble Inter 02 (Clé Primaire : NuAutoQuest1, LienInter,....)
|
| Private Sub Form_Open(Cancel As Integer)
| Dim db As DAO.Database
| Dim rst As DAO.Recordset
| Dim i
| Dim cpt


i et cpt sont ici déclaré variant, par défaut...


| Set db = CurrentDb
| Set rst = db.OpenRecordset("SELECT * FROM [Tble Inter 02] WHERE
LienInter="
| & NuAutoIntervention)
| rst.MoveLast
| rst.MoveFirst

pourquoi ces deux mouvement ?
de plus, si le recodset est vide, tu auras une erreur !

donc, plutôt après le Set rst= ...

if Not rst.EOF Then
...
...
End if



| .....
| .....
| End Sub
|
| Private Sub BtnUpdate_Click()
| Dim db As DAO.Database
| Dim rst As DAO.Recordset
| Dim i

idem, i est variant !

| Set db = CurrentDb
| Set rst = db.OpenRecordset("Tble Inter 02")
| DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, ,
acMenuVer70
| If Me.Dirty Then DoCmd.RunCommand acCmdSaveRecord
| 'Suppression de tous les anciens enregistrements
| DoCmd.SetWarnings False
| DoCmd.RunSQL ("DELETE * FROM [Tble Inter 02] WHERE LienInter=" &
| Me.NuAutoIntervention)
| DoCmd.SetWarnings True


les DoCmd ne sont pas forcément joli dans ce contexte...
tout comme les DoMenuItem depuis Access 97

if Me.Dirty Then DoCmd.RunCommand acCmdSaveRecord

est une autre abération... écrire simplement :

Me.Dirty = False



| .....
| .....
| End sub
|
| AUCUN MESSAGE D'ERREUR
|
| Je changer les tables par réseau (SQL Expresse 2005):
| dbo_Tble Inter 01 (Clé Primaire : NuAutoIntervention,.....;)
| dbo_Tble Inter 02 (Clé Primaire : NuAutoQuest1, LienInter,....)
|
| MESSAGE D'ERREUR :
|
| DoCmd.RunSQL ("DELETE * FROM [dbo_Tble Inter 02] WHERE LienInter=" &
| Me.NuAutoIntervention) 'dans le Private Sub Form_Open(Cancel As Integer)


Dans l'événement "Open" du formulaire, les données ne sont pas encore
présentes ! Essaies sur le OnLoad (chargement)


| et
| Set rst = db.OpenRecordset("dbo_Tble Inter 02") 'dans le Private Sub
| BtnUpdate_Click()


Sur click d'un bouton tu fait juste un set rst ?


| Je trouve ça vraiment bizarre.

Ce n'est pas parce que le VBA est "interprété" que le traducteur
est forcément polyglotte ;-))

--
A+
Pierre (3stone) Access MVP
Perso: http://www.3stone.be/
MPFA: http://www.mpfa.info/ (infos générales)



Publicité
Poster une réponse
Anonyme