Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Executer un script sql à Partir de Vb

3 réponses
Avatar
Samba GASSAMA
Bonjour,
J'ai un script sql que j'ai généré à partir de AMC*D( instruction de
supression et de creation de table sous ACESSS).Je voudrai l'executer à
partir de mon application.
L'erreur suivante survient: "Instruction SQL non Valide; 'DELETE', 'INSERT'
... attendus "
Merci d'avance
Samba

Voila mon code:
Dim fso As New FileSystemObject
Dim fichier As String
Dim file
Set fso = CreateObject("Scripting.FileSystemObject")
Set file = fso.OpenTextFile("C:\script.txt", ForReading)
fichier = file.ReadAll
db.Execute (fichier)

le contenu de mon script :

****************************************

Drop Table PASSATIONS_MICROPROJET
'============================================================
' 'Table :PASSATION_MARCHE_L
'============================================================
Begin Table PASSATION_MARCHE_L
Name = PASSATION MARCHE L
Begin Column CODEPASSMARCHEL
Name = CodePassMarcheL
DataType = Text(9)
Length = 9
Mandatory = YES
OrdinalNumber = 1
End Column
Begin Column DESCRIPMARCHEL
Name = DescripMarcheL
DataType = Text(50)
Length = 50
OrdinalNumber = 2
End Column
Begin Column CATEGMARCHEL
Name = CategMarcheL
DataType = Text(30)
Length = 30
OrdinalNumber = 3
End Column
Begin Column DATEPASSATIONL
Name = DatePassationL
DataType = DateTime
Length = 0
OrdinalNumber = 4
End Column
Begin Column METHODEPASSATIONL
Name = MethodePassationL
DataType = Text(50)
Length = 50
OrdinalNumber = 5
End Column
Begin Column ETATAVANCEMENTSELECTIONL
Name = EtatAvancementSelectionL
DataType = Text(50)
Length = 50
OrdinalNumber = 6
End Column
Begin Column MONTANTMARCHEL
Name = MontantMarcheL
DataType = Currency
Length = 0
OrdinalNumber = 7
End Column
Begin Column DATESIGNATUREMARCHEL
Name = DateSignatureMarcheL
DataType = DateTime
Length = 0
OrdinalNumber = 8
End Column
Begin Column DATEFINPREVUE
Name = DateFinPrevue
DataType = DateTime
Length = 0
OrdinalNumber = 9
End Column
Begin Column DATEFINEFFECTIVE
Name = DateFinEffective
DataType = DateTime
Length = 0
OrdinalNumber = 10
End Column
Begin Column SDPASSATIONL
Name = SDPassationL
DataType = Text(100)
Length = 100
OrdinalNumber = 11
End Column
Begin Column BRCORIGINEPASSML
Name = BrcOrigine2
DataType = Text(5)
Length = 5
OrdinalNumber = 12
End Column
Begin Column RCPASSATIONL
Name = RCPassationL
DataType = Text(30)
Length = 30
OrdinalNumber = 13
End Column
Begin Column DATEMAJPML
Name = DateMAJ2
DataType = DateTime
Length = 0
OrdinalNumber = 14
End Column
End Table
********************************************

3 réponses

Avatar
Zoury
Salut! :O)

Dim fso As New FileSystemObject



Si tu ne fait pas du script (VBS par exemple) je te conseil d'oublier
l'existence du FSO.

Voici pourquoi
http://faq.vb.free.fr/?question6

aussi une petite note au sujet de Dim .. As New ..

Les As mangent les New
http://groups.google.com/groups?hl=fr&lr=&ie=UTF-8&oe=UTF-8&selm=OVm4JcG1CHA
.452%40TK2MSFTNGP11.phx.gbl

Dim As New -> autre discussion intéressante...
http://groups.google.com/groups?threadm=OFx8TGPMCHA.1608%40tkmsftngp09


le contenu de mon script :


<snip>
Drop Table PASSATIONS_MICROPROJET
Begin Table PASSATION_MARCHE_L
Name = PASSATION MARCHE L
Begin Column CODEPASSMARCHEL
Name = CodePassMarcheL


<resnip>

Je ne suis pas trop sur de comprendre... le code ci-haut n'est du pas du
SQL... Es-tu sur d'avoir generer la bonne chose?

--
Cordialement
Yanick Lefebvre - MVP pour Visual Basic
http://faq.vb.free.fr/?rubrique=0 - http://www.mvps.org/vbnet/
http://www.mentalis.org/agnet/apiguide.shtml - http://www.mztools.com/
Avatar
Boss Hog
Bonjour,
la réponse à ta question précédente m'en pose une autre !?
Doit -je comprendre qu'il n'est pas tres bon d'utilisé FSO avec VB6 ?
Quel est alors la méthode la plus propre pour manipulé fichiers et dossiers
?!
Merci de m'éclairer
Boss Hog

"Samba GASSAMA" a écrit dans le message
news:
Bonjour,
J'ai un script sql que j'ai généré à partir de AMC*D( instruction de
supression et de creation de table sous ACESSS).Je voudrai l'executer à
partir de mon application.
L'erreur suivante survient: "Instruction SQL non Valide; 'DELETE',


'INSERT'
... attendus "
Merci d'avance
Samba

Voila mon code:
Dim fso As New FileSystemObject
Dim fichier As String
Dim file
Set fso = CreateObject("Scripting.FileSystemObject")
Set file = fso.OpenTextFile("C:script.txt", ForReading)
fichier = file.ReadAll
db.Execute (fichier)

le contenu de mon script :

****************************************

Drop Table PASSATIONS_MICROPROJET
'=========================================================== > ' 'Table :PASSATION_MARCHE_L
'=========================================================== > Begin Table PASSATION_MARCHE_L
Name = PASSATION MARCHE L
Begin Column CODEPASSMARCHEL
Name = CodePassMarcheL
DataType = Text(9)
Length = 9
Mandatory = YES
OrdinalNumber = 1
End Column
Begin Column DESCRIPMARCHEL
Name = DescripMarcheL
DataType = Text(50)
Length = 50
OrdinalNumber = 2
End Column
Begin Column CATEGMARCHEL
Name = CategMarcheL
DataType = Text(30)
Length = 30
OrdinalNumber = 3
End Column
Begin Column DATEPASSATIONL
Name = DatePassationL
DataType = DateTime
Length = 0
OrdinalNumber = 4
End Column
Begin Column METHODEPASSATIONL
Name = MethodePassationL
DataType = Text(50)
Length = 50
OrdinalNumber = 5
End Column
Begin Column ETATAVANCEMENTSELECTIONL
Name = EtatAvancementSelectionL
DataType = Text(50)
Length = 50
OrdinalNumber = 6
End Column
Begin Column MONTANTMARCHEL
Name = MontantMarcheL
DataType = Currency
Length = 0
OrdinalNumber = 7
End Column
Begin Column DATESIGNATUREMARCHEL
Name = DateSignatureMarcheL
DataType = DateTime
Length = 0
OrdinalNumber = 8
End Column
Begin Column DATEFINPREVUE
Name = DateFinPrevue
DataType = DateTime
Length = 0
OrdinalNumber = 9
End Column
Begin Column DATEFINEFFECTIVE
Name = DateFinEffective
DataType = DateTime
Length = 0
OrdinalNumber = 10
End Column
Begin Column SDPASSATIONL
Name = SDPassationL
DataType = Text(100)
Length = 100
OrdinalNumber = 11
End Column
Begin Column BRCORIGINEPASSML
Name = BrcOrigine2
DataType = Text(5)
Length = 5
OrdinalNumber = 12
End Column
Begin Column RCPASSATIONL
Name = RCPassationL
DataType = Text(30)
Length = 30
OrdinalNumber = 13
End Column
Begin Column DATEMAJPML
Name = DateMAJ2
DataType = DateTime
Length = 0
OrdinalNumber = 14
End Column
End Table
********************************************




Avatar
Zoury
Salut Boss Hog! :O)

Avec les fonctions built-ins de VB et/ou les APIs Windows tu peux obtenir
les même résultats avec de meilleurs performances.

--
Cordialement
Yanick Lefebvre - MVP pour Visual Basic
http://faq.vb.free.fr/?rubrique=0 - http://www.mvps.org/vbnet/
http://www.mentalis.org/agnet/apiguide.shtml - http://www.mztools.com/

Merci de poster les réponses au groupe afin d'en faire profiter à tous
"Boss Hog" wrote in message
news:
Bonjour,
la réponse à ta question précédente m'en pose une autre !?
Doit -je comprendre qu'il n'est pas tres bon d'utilisé FSO avec VB6 ?
Quel est alors la méthode la plus propre pour manipulé fichiers et


dossiers
?!
Merci de m'éclairer
Boss Hog

"Samba GASSAMA" a écrit dans le message
news:
> Bonjour,
> J'ai un script sql que j'ai généré à partir de AMC*D( instruction de
> supression et de creation de table sous ACESSS).Je voudrai l'executer à
> partir de mon application.
> L'erreur suivante survient: "Instruction SQL non Valide; 'DELETE',
'INSERT'
> ... attendus "
> Merci d'avance
> Samba
>
> Voila mon code:
> Dim fso As New FileSystemObject
> Dim fichier As String
> Dim file
> Set fso = CreateObject("Scripting.FileSystemObject")
> Set file = fso.OpenTextFile("C:script.txt", ForReading)
> fichier = file.ReadAll
> db.Execute (fichier)
>
> le contenu de mon script :
>
> ****************************************
>
> Drop Table PASSATIONS_MICROPROJET
> '=========================================================== > > ' 'Table :PASSATION_MARCHE_L
> '=========================================================== > > Begin Table PASSATION_MARCHE_L
> Name = PASSATION MARCHE L
> Begin Column CODEPASSMARCHEL
> Name = CodePassMarcheL
> DataType = Text(9)
> Length = 9
> Mandatory = YES
> OrdinalNumber = 1
> End Column
> Begin Column DESCRIPMARCHEL
> Name = DescripMarcheL
> DataType = Text(50)
> Length = 50
> OrdinalNumber = 2
> End Column
> Begin Column CATEGMARCHEL
> Name = CategMarcheL
> DataType = Text(30)
> Length = 30
> OrdinalNumber = 3
> End Column
> Begin Column DATEPASSATIONL
> Name = DatePassationL
> DataType = DateTime
> Length = 0
> OrdinalNumber = 4
> End Column
> Begin Column METHODEPASSATIONL
> Name = MethodePassationL
> DataType = Text(50)
> Length = 50
> OrdinalNumber = 5
> End Column
> Begin Column ETATAVANCEMENTSELECTIONL
> Name = EtatAvancementSelectionL
> DataType = Text(50)
> Length = 50
> OrdinalNumber = 6
> End Column
> Begin Column MONTANTMARCHEL
> Name = MontantMarcheL
> DataType = Currency
> Length = 0
> OrdinalNumber = 7
> End Column
> Begin Column DATESIGNATUREMARCHEL
> Name = DateSignatureMarcheL
> DataType = DateTime
> Length = 0
> OrdinalNumber = 8
> End Column
> Begin Column DATEFINPREVUE
> Name = DateFinPrevue
> DataType = DateTime
> Length = 0
> OrdinalNumber = 9
> End Column
> Begin Column DATEFINEFFECTIVE
> Name = DateFinEffective
> DataType = DateTime
> Length = 0
> OrdinalNumber = 10
> End Column
> Begin Column SDPASSATIONL
> Name = SDPassationL
> DataType = Text(100)
> Length = 100
> OrdinalNumber = 11
> End Column
> Begin Column BRCORIGINEPASSML
> Name = BrcOrigine2
> DataType = Text(5)
> Length = 5
> OrdinalNumber = 12
> End Column
> Begin Column RCPASSATIONL
> Name = RCPassationL
> DataType = Text(30)
> Length = 30
> OrdinalNumber = 13
> End Column
> Begin Column DATEMAJPML
> Name = DateMAJ2
> DataType = DateTime
> Length = 0
> OrdinalNumber = 14
> End Column
> End Table
> ********************************************
>
>