VBA ACCESS
Résolu/Fermé
PacomeBAD
Messages postés
5
Date d'inscription
mercredi 2 avril 2008
Statut
Membre
Dernière intervention
4 avril 2008
-
2 avril 2008 à 12:06
pistol - 6 févr. 2013 à 11:25
pistol - 6 févr. 2013 à 11:25
A voir également:
- VBA ACCESS
- Vba attendre 1 seconde ✓ - Forum VB / VBA
- Access runtime ✓ - Forum Access
- Acer quick access - Forum Logiciels
- Mkdir vba ✓ - Forum VB / VBA
- Access appdata - Guide
10 réponses
Polux31
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 204
16 juin 2008 à 14:21
16 juin 2008 à 14:21
il faut plutôt faire : On Error Resume Next et gérer l'erreur:
;o)
On Error Resume Next ..... .... If Err.Number <> 0 Then 'code en cas d'erreur ex: un message d'alerte Exit Sub ' on sort de la procédure Else 'sinon 'code à exécuter si pas d'erreur End If
;o)
Polux31
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 204
2 avril 2008 à 12:27
2 avril 2008 à 12:27
Bonjour,
As-tu essayé avec un "Select *" sur une table ?
;o)
polux
As-tu essayé avec un "Select *" sur une table ?
;o)
polux
Bonjour
jec rois que la syntaxe est:
Set ReqTemp = db.OpenRecordset("R_Import_Vols_MaJ_Classe_2", dbOpenTable)
Set TableTemp = db.OpenRecordset("T_Import_Temp_4_Classe", dbOpenTable)
Ciao
jec rois que la syntaxe est:
Set ReqTemp = db.OpenRecordset("R_Import_Vols_MaJ_Classe_2", dbOpenTable)
Set TableTemp = db.OpenRecordset("T_Import_Temp_4_Classe", dbOpenTable)
Ciao
PacomeBAD
Messages postés
5
Date d'inscription
mercredi 2 avril 2008
Statut
Membre
Dernière intervention
4 avril 2008
2 avril 2008 à 17:35
2 avril 2008 à 17:35
OK. j vais essayer ta syntaxe pour voir si ca marche.
Sinon j ai pas essayé avec un select*, mais ca sert a quoi?
Ect ce que mon probleme peut venir du fait que ma table est vide?
Sinon j ai pas essayé avec un select*, mais ca sert a quoi?
Ect ce que mon probleme peut venir du fait que ma table est vide?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
PacomeBAD
Messages postés
5
Date d'inscription
mercredi 2 avril 2008
Statut
Membre
Dernière intervention
4 avril 2008
2 avril 2008 à 17:39
2 avril 2008 à 17:39
Ca marche pas...
Polux31
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 204
2 avril 2008 à 19:18
2 avril 2008 à 19:18
lol ben oui si ta table est vide .... ta requete ne retourne rien :os
Et si la base est vide(dans certain cas) justement comment on fait pour éviter ce message d'erreur ?
Pourtant j'ai bien mis un On error Goto .....
voilà le bout de code :
entrée :
Set DB = CurrentDb
Dim test2 As DAO.Recordset
On Error GoTo entrée2
Set test2 = DB.OpenRecordset("SELECT SP2.elementmachine AS element1 FROM SP2 WHERE (((SP2.errorcode) Like '" & coderror & "'));")
Element = test2!element1
Or il arrive qu'un Code erreur trouvé ne soit pas dans la base de donné et donc je voudrais que élément soit = ""
moi le On error Goto ne fonctionne pas j'ai toujours le message d'erreur : Aucun enregistrement en cours ...
Merci de vos réponse
Pourtant j'ai bien mis un On error Goto .....
voilà le bout de code :
entrée :
Set DB = CurrentDb
Dim test2 As DAO.Recordset
On Error GoTo entrée2
Set test2 = DB.OpenRecordset("SELECT SP2.elementmachine AS element1 FROM SP2 WHERE (((SP2.errorcode) Like '" & coderror & "'));")
Element = test2!element1
Or il arrive qu'un Code erreur trouvé ne soit pas dans la base de donné et donc je voudrais que élément soit = ""
moi le On error Goto ne fonctionne pas j'ai toujours le message d'erreur : Aucun enregistrement en cours ...
Merci de vos réponse
PacomeBAD
Messages postés
5
Date d'inscription
mercredi 2 avril 2008
Statut
Membre
Dernière intervention
4 avril 2008
4 avril 2008 à 16:39
4 avril 2008 à 16:39
Merci lol
Polux31
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 204
16 juin 2008 à 15:11
16 juin 2008 à 15:11
ça veut dire qu'il faut que tu fasses une récursive ... et enlever Exit Sub ... tu peux également tester le recordset par RecordSet.Count qui renvoie le nombre d'enregistrement. Si = 0 alors élément ="" ...
;o)
;o)
je ne suis pas sur d'avoir bien compris le Recordset.Count
sSQL4 = "Select elementmachine From SP2 Where errorcode Like '" & coderror & "';"
'Ouverture du recordset -> execution de la requête
Set rst5 = DB2.OpenRecordset(sSQL4, dbOpenForwardOnly, dbReadOnly)
If rst5.Count = 0 Then
GoTo entrée2
End If
'si le code existe, définition de l'élément et du descriptif
Element = rst5.Fields("elementmachine")
Il me met membre de méthode ou de données introuvable
sSQL4 = "Select elementmachine From SP2 Where errorcode Like '" & coderror & "';"
'Ouverture du recordset -> execution de la requête
Set rst5 = DB2.OpenRecordset(sSQL4, dbOpenForwardOnly, dbReadOnly)
If rst5.Count = 0 Then
GoTo entrée2
End If
'si le code existe, définition de l'élément et du descriptif
Element = rst5.Fields("elementmachine")
Il me met membre de méthode ou de données introuvable
Polux31
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 204
16 juin 2008 à 16:05
16 juin 2008 à 16:05
fait :
Dim nb As Long
et après l'exécution de la requête :
nb = rst5.RecordSet.Count
If nb = 0 then
....
;o)
Dim nb As Long
et après l'exécution de la requête :
nb = rst5.RecordSet.Count
If nb = 0 then
....
;o)
16 juin 2008 à 15:02
qu'il continu sa boucle normalement à chaque fois qu'il croise une erreur qu'il ne connait pas...