- ベストアンサー
ファイルを読み込んで変数へ
VB初心者です。 ファイルの文字列を読み込んで、変数に格納し、SQL文のテーブル名に指定したいのですが、どうすればよいのでしょうか? テキストから文字列を取得するところまではできたのですが、変数にもって、SQL文に組み込むことができません。実行すると「テーブル名が無効です。」とエラーになります。 どうか、皆様ご教授ください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
#1です。 SQLはVBではありませんので、直に書くことはできません。 String型の変数等に格納し、それをデータベースのSQL実行関数に渡します。 Dim sql as string sql = "select A from " & srhLine SQL実行関数( sql ) もちろん変数を介さずに直に書くことも出来ます。 SQL実行関数( "select A from " & srhLine )
その他の回答 (2)
- imogasi
- ベストアンサー率27% (4737/17069)
SQL文は普通テキストです。 コマンドラインからいれるもの アクセス(VBA)のようにSQL文実行コマンドがあったり、 ファイルオープン時にそのSQL文を実行して開いたり 開発環境でSQL文字列を入力して実行をクリックしたり で実行できるものを経験しました。 しかしFSOの中で、SQL文を裸で他のステートメントの中に混じらせて書けば、実行してくれることはないはずです。 FSOがSQLを実行する仕様に進歩したら、 (テーブル名文字列)=ファイルの文字列を読み込んで、変数に格納し、SQL文のテーブル名に指定 strSQL="SELECT A FROM" & (テーブル名文字列) EXECUTESQL strSQL のようなイメージになると思いますよ。
お礼
ありがとうございます。 初心者に分かりやすく教えていただき、 感謝しております。
- ttyp03
- ベストアンサー率28% (277/960)
まずはプログラムを提示しましょう。
補足
プログラムはこのとおりです。 Set fso = CreateObject("Scripting.FileSystemObject") Set src = fso.GetFolder("C:\script\tips") ' 対象フォルダの指定 Set TextFile = fso.OpenTextFile(FileName) ' テキストファイルのオープン Do Until TextFile.AtEndOfStream tmpLine = TextFile.ReadLine ' 1行読み込み srhLine = tmpLine Loop select A from srhLine ※エラー
お礼
ありがとうございます。 大変助かりました。