Bonjour à tous,
tout d'abord une précision : je ne sais pas "développer", "coder", "programmer".... Je googlise pour apprendre et ce n'est pas facile tous les jourssoyez indulgents.
Voilà : j'ai du convertir une centaine de bases access au boulot, de 2003 vers 2007, et les faire fonctionner sur une centaine de postes aux configs hétérogènes.... Il m'en reste quelques unes qui posent problème.
Voici notamment une fonction (on dit fonction ?) "nomatch" qui ouvre un message d'erreur, "Erreur de Compilation : Membre de méthode ou de données introuvable".
J'ai d'abord pensé à une référence manquante, puis à "Microsoft DAO 1.6 Object Library" qui n'est pas coché (mais quand je le coche, il m'indique "Nom de module de projet ou de bibliothèque d'objets déjà utilisé")... Rien n'y fait.
Là tout de suite, je me dis que je pourrais bidouiller un truc avec BOF / move first / EOF mais... j'en suis bien incapable
Tout conseil sera le bienvenu !
Merci de votre aide
Edit : en couleur là où ça plante...
Private Sub lPDFList_DblClick(Cancel As Integer)
' Déclaration de variables
Dim rst As Recordset
Dim strRequêteSQL As String
Dim strCodeSociété As String
Dim lngIdxSociétéCommerciale As Long
Dim strCheminRépertoire As String
Dim iFile As String
strCodeSociété = Left(lPDFList.Column(1), 3)
' Définitiion du jeu d'enregistrements
strRequêteSQL = "SELECT tbl_CODE_SOCIETE.Idx_Societe_Commerciale FROM tbl_CODE_SOCIETE WHERE (((tbl_CODE_SOCIETE.Code_Societe)" & _
" =" & strCodeSociété & "));"
' Ouverture du jeu d'enregistrements
Set rst = DBEngine(0)(0).OpenRecordset(strRequêteSQL, dbOpenSnapshot)
If rst.NoMatch Then
MsgBox "ERREUR DE REFERENCE" & vbCrLf & "pour la référence " & strCodeSociété, vbCritical, "ERREUR"
Else
lngIdxSociétéCommerciale = rst.Fields("[Idx_Societe_Commerciale]")
' Recherche du chemin du répertoire correspondant à la Société
strCheminRépertoire = fct_Rechercher_Valeur_Champ_Table_pour_une_Valeur_Saisie_dans_Autre_Champ _
("tbl_SOCIETE_COMMERCIALE", "Chemin_Repertoire", "Idx_Societe_Commerciale", "Numérique", lngIdxSociétéCommerciale)
' Ajout du Répertoire au Chemin
iFile = strCheminRépertoire & "\" & lPDFList
If ShellEx(iFile) = False Then
MsgBox "Ce fichier n'a pas encore été archivé ?" & vbCrLf & vbCrLf & "Date: " & lPDFList.Column(2), vbCritical, lPDFList
End If
End If
' Libération de l'objet
rst.Close
' Destruction de l'objet
Set rst = Nothing
End Sub
Partager