J'ai simplement supposé que cela pouvait être fait, mais je commence à me demander. La première chose est je remarque qu'il ne prendra pas la syntaxe j'utiliser normalement, même avec une seule table (juste essayer de se mettre à la plus simple syntaxe possible)Utilisation d'ADO pour joindre et interroger des fichiers texte
Select [file_name.txt].[fieldname] From [file_name.txt]
"est pas un nom valide - c'est l'erreur que je reçois.Je pourrais simplement supprimer le qualificatif de nom de fichier du champ et ce serait bien, cependant, quand je vais rejoindre, j'aurais normalement besoin d'utiliser ce genre de syntaxe dans la partie join:
Inner Join [file_name2.txt] On [file_name.txt].[fieldname]=[file_name2.txt].[fieldname]
auquel cas il racontera err pour "bracketing invalide de [file_name.txt]. [fieldname]"
Je ne sais pas pourquoi c'est un problème. Si j'essaie de supprimer les qualificatifs de nom de fichier, une erreur "joindre une expression n'est pas prise en charge" s'affiche.
Mon schema.ini ressemble à ceci:
[file_name.txt]
Format=Delimited(|)
ColNameHeader=True
[file_name2.txt]
Format=Delimited(|)
ColNameHeader=True
Ma chaîne de connexion est:
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source="C:\Path"
;Extended Properties=""text;HDR=Yes"""
Je me demande si cela est encore possible.
Oui, vous avez raison, par exemple votre exemple est. J'ai trouvé la même réponse ailleurs. Notez cependant que l'explication n'est pas ce que vous vouliez dire je crois. Le pilote de texte dans ce cas comprend les crochets uniquement autour des noms de champs, vous devez donc utiliser un alias pour les jointures. – tbaker818
Oui. Typo de ma part. Excuses. Aurait dû être "fieldnames". Avoir modifié la réponse – Yemoku