VBScript ouverture d'un fichier Access

Simouss33 Messages postés 85 Date d'inscription jeudi 17 novembre 2005 Statut Membre Dernière intervention 15 février 2006 - 7 févr. 2006 à 16:27
Simouss33 Messages postés 85 Date d'inscription jeudi 17 novembre 2005 Statut Membre Dernière intervention 15 février 2006 - 7 févr. 2006 à 17:25
Bonjour à tous!

J'ai écrit un petit script VB qui me permette d'exécuter une procédure d'une application Access :

Option Explicit


Dim db


Set db = CreateObject("Access.Application")
db.Visible = False
db.OpenCurrentDatabase("C:\MaBAse.adp")
db.Run ("MiseAJour")
db.CloseCurrentDatabase()


Set db = Nothing

Ce script marche très bien seulement lorsque j'ouvre le fichier Access, j'ai le message d'avertissement classique du type :
"Ce fichier n'est peut-être pas sûr... Voulez-vous vraiment ouvrir ce fichier?"

Je voudrais faire en sorte que ce message ne s'affiche plus mais je ne sais pas vraiment comment faire... Please help me.

2 réponses

cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 27
7 févr. 2006 à 17:18
Bonjour,

Script en VBS.
Aucune question posée.
Fonctionne sous W2000 avec Access.
Fonctionne sous XP sans Access.

Dim Fso, Db, Rs, MaBaseJor, i, test, MaTable, SQL_saisie, MaRequete, Saisie
Set Fso = CreateObject("Scripting.FileSystemObject")
Const PathOut = "d:\Oxauser"
MaBaseJor = PathOut & "JOB_DIA7.MDB"
Saisie = "01/01/2005"
'Conversion de la date saisie (jj/mm/aaaa) au format date SQL (mm/jj/aaaa)
SQL_saisie = "#" & Mid(Saisie , 4, 2) & "/" & Mid(Saisie , 1, 2) & "/" & Mid(Saisie , 7, 4) & "#"
MaTable = "JOB"
MaRequete = "SELECT JOBID,RON,AMJ,DATE_FIN,ABORT,PROJECT,CPU,USER,ELAPSE FROM " & MaTable
MaRequete = MaRequete & " WHERE AMJ > " & SQL_saisie & " ORDER BY AMJ"

Set Db = CreateObject("ADODB.Connection")
Set Rs = CreateObject("ADODB.Recordset")
Db.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & MaBaseJor
Rs.Open MaRequete ,Db

i = 0
Do While Not Rs.EOF
If i = 0 Then
MsgBox "lecture du premier recordset : " & Rs.Fields(0)
i = i + 1
Else
i = i + 1
End If
test = Rs.Fields(0)
Rs.MoveNext
Loop
MsgBox "lecture du dernier recordset : " & test & " nbre recordsets parcourus: " & i

Rs.Close
Set Fso = Nothing
Set Rs = Nothing
Set Db = Nothing
0
Simouss33 Messages postés 85 Date d'inscription jeudi 17 novembre 2005 Statut Membre Dernière intervention 15 février 2006 2
7 févr. 2006 à 17:25
Merci pour cette réponse. Mais je suis amené à exécuter une procédure contenue dans un module d'Access. Avec une simple connection ADODB, on ne peut accéder qu'aux données et aux requêtes de la base et donc pas aux modules (ou alors je ne sais pas comment faire)...
Sinon, c'est vrai que cette méthode ne provoque pas de message d'erreur.
Merci quand même
0
Rejoignez-nous