begin process at 2012 02 14 14:42:37
  Trouver un code source :
 
dans
 
Accueil > Forum > 

VB.NET et VB 2005

 > 

Base de données

 > 

SQL

 > 

probleme de requete insert via fichier Txt /table


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

probleme de requete insert via fichier Txt /table

dimanche 4 mai 2008 à 15:32:58 | probleme de requete insert via fichier Txt /table

Flow8002

bonjour ,

J'ai un petit souci lors de l'insertion d'un fichier texte en table celui-ci etant delimité par des "@"
il me m'est cette erreur la : Erreur de syntaxe (opérateur absent) dans l'expression  , au vue de la requete SQL elle paraît clean toute les valeurs sont bien espacées d'une "," le nombre de champs source et destination sont identiques .... , j'ai bien différencié mes champs par des ' mais bon rien n'y fait :/
si quelqu'un avait une idée je suis preneur :o 
voici mon code :

Private

Sub cmdImport_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles cmdImport.Click

Dim delimiter AsString

Dim contents AsString

Dim lines() AsString

Dim fields() AsString

Dim wks As dao.Workspace

Dim db As dao.Database

Dim fnum AsShort

Dim line_num AsShort

Dim field_num AsShort

Dim sql_statement AsString

Dim num_records AsInteger

delimiter =

"@"

' capture le fichier

fnum = FreeFile

FileOpen(fnum,

"C:\damien.txt", OpenMode.Input)

'Mise en memoire du fichiers texte à importer

contents = InputString(fnum, LOF(fnum))

FileClose(fnum)

' decoupe chaque ligne a chaque saut de ligne

lines = Split(contents, vbCrLf)

' Ouvre la base.

wks = DAODBEngine_definst.Workspaces(0)

db = wks.OpenDatabase(

"C:\Base Rex.mdb")

'enumere le nombre de lignes

For line_num = LBound(lines) To UBound(lines)

'si la ligne a une longueur sup a zero execute le code

If Len(lines(line_num)) > 0 Then

' construction de la requete d'insertion

sql_statement =

"INSERT INTO T_CRI VALUES("

'decoupe les champs

fields = Split(lines(line_num), delimiter)

 

 

'enumere le nombre de champs

For field_num = LBound(fields) To UBound(fields)

' insere les champs a la requête

sql_statement = sql_statement &

"'" & fields(field_num) & "',"

Next field_num

' 'Enleve la derniere virgule de la requete SQL

sql_statement = VB.Left(sql_statement, Len(sql_statement) - 1) &

")"

db.Execute(sql_statement)

num_records = num_records + 1

EndIf

 

dimanche 4 mai 2008 à 18:38:19 | Re : probleme de requete insert via fichier Txt /table

Flow8002

J'ai trouvé une partie de la solution .
En faite c'est les mots de type "D'AIR" , l'apostrophe est pris pour un début ou fin de field , il me reste qu'a trouver comment faire pour que VB ne prenne pas en compte les "'" dans un field....
dimanche 4 mai 2008 à 19:00:30 | Re : probleme de requete insert via fichier Txt /table

Flow8002

Réponse acceptée !
Voila c'est fait , en faite il faut utiliser la fonction "replace " pour virer les simples quote et les remplacer par des doubles quotes
searchValue = Replace(champTexte.Value, "'", "''")


Bonne soirée a tous


Cette discussion est classée dans : sql, requete, num, statement, asstringdim


Répondre à ce message

Sujets en rapport avec ce message

requete sql [ par Fiolax ] voila, j'ai un prob avec cette requete, c'est au niveau du between que ca coince si vous pouviez m'aider !!sql = " select * from Op_argent where num_c REQUETE SQL [ par nagattaque ] Hello tout le monde...je vous explique mon probleme :Voila grace a une requete (je suis sous access2000) en sql, je selectionne des enregistrements is Date et SQL [ par noe ] Bonsoir à tousje n'arrive pas à exécuter ma requete SQLvoici mes donnéesune base ACCESS 97 nom "Ecole"une table nom "Present"un format Date requete SQL srv [ par Megafan ] Bonjour,Pour une fois c'est moi qui pose une question :)descriptif de ma config :- Base de donnée sur un serveur SQL (MS)- Requete ADO récupéree dans PB Simple Quote (') dans requete SQL [ par bb97 ] Je développe une application sous VB qui intérroge une BD Access 97. Pour avoir l'adresse d'un client j'utilise le code suivant :cmdADONom.CommandText PB Caracteres speciaux dans requete SQL [ par bb97 ] Je développe une application sous VB qui intérroge une BD Access 97. Pour avoir l'adresse d'un client j'utilise le code suivant :cmdADONom.CommandText Conversion texte en numerique dans requete SQL [ par dseb59 ] Bonjour,J'ai une table Access avec un champ 'Ancienneté' de type texte. Ce champ contient des chiffres, des '-' ou des chaines de caracteres.Je veux t requete sql sous access [ par nagattaque ] hello tout le monde...voila j'ai une petite question : est il possible d'executer une requete sql contenue ds un fichier "requete.sql"car je vous expl requete (sql+vb) et champs date [ par myrzhin21 ] voila ma base de donnée comporte une multi requeteformé d'une combinaison SQL et Vbet je voudrai pouvoir faire une requete sur la date un peu plu comp REQUETE SQL + AFFICHAGE [ par brokenbracelet ] Salu !Ce que je voudrais faire c est selectionner des infos sur ma base de donnees Set bd = DBEngine.Workspaces(0).OpenDatabase("**\***\*****")SQL = "


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 3,292 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales