Page 100 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 通常モードに戻る ┃ INDEX ┃ ≪前へ │ 次へ≫ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ▼テキスト取り込み時 平社員 02/11/13(水) 23:57 ┗Re:テキスト取り込み時 イケガミ 02/11/14(木) 0:01 ┗Re:テキスト取り込み時 平社員 02/11/14(木) 9:29 ┗Re:schema.ini ファイル イケガミ 02/11/14(木) 11:10 ┣参考 こうちゃん 02/11/14(木) 11:23 ┃ ┗ありがとうございます。 平社員 02/11/14(木) 12:55 ┗すみません話が戻ります。 平社員 02/11/14(木) 12:40 ┗Re:すみません話が戻ります。 イケガミ 02/11/14(木) 12:50 ┗Re:すみません話が戻ります。 平社員 02/11/14(木) 14:45 ┗Re:SQLの構文エラー? イケガミ 02/11/14(木) 15:14 ┗Re:SQLの構文エラー? 平社員 02/11/14(木) 15:42 ┗Re:SQLの構文エラー? イケガミ 02/11/14(木) 15:45 ┗Re:SQLの構文エラー? 平社員 02/11/14(木) 15:55 ┣Re:SQLの構文エラー? イケガミ 02/11/14(木) 16:03 ┃ ┗Re:SQLの構文エラー? やす 02/11/14(木) 16:26 ┃ ┗Re:テーブル名を変数で指定 イケガミ 02/11/14(木) 16:38 ┗すみませんできました。 平社員 02/11/14(木) 16:03 ─────────────────────────────────────── ■題名 : テキスト取り込み時 ■名前 : 平社員 ■日付 : 02/11/13(水) 23:57 -------------------------------------------------------------------------
テキストをテーブルに取り込み事はできるのですがそのテキストに新たにオートナンバー型のIDをつけたいです。この処理をVBAでするやり方をご存知の方是非教えてください。ちなみにインポート時の定義もVBAだけで登録できたりするんでしょうか? |
>テキストをテーブルに取り込み事はできるのですがそのテキストに >新たにオートナンバー型のIDをつけたいです。 あらかじめテーブルを作成しておき、追加クエリを使えば、オートナンバー付の テーブルができます。 >この処理をVBAでするやり方をご存知の方是非教えてください。 リンクテーブルの作成 追加クエリ でも大丈夫です。 >ちなみにインポート時の定義もVBAだけで登録できたりするんでしょうか? インポート定義自体の作成はできないことはないですが、面倒だと思います。 #スキーマ.iniを作ればってことです。 作成済みのインポート定義をDoCmd.TransferTextで指定すればいいかと。。 |
▼イケガミ さん: ありがとうございます。自分自身あんまりよくアクセスのことわかって ないんですが、活路は見出せそうです。 >>ちなみにインポート時の定義もVBAだけで登録できたりするんでしょうか? >インポート定義自体の作成はできないことはないですが、面倒だと思います。 >#スキーマ.iniを作ればってことです。 #スキーマ.iniとはなんですか?今はあらかじめ作られた定義を引用しています。 |
> #スキーマ.iniとはなんですか?今はあらかじめ作られた定義を引用しています。 インポート定義を指定する変わりにインポートしたいテキストファイルと 同じ場所に、schema.ini ファイルを入れておけば、そのschema.ini ファイルで 指定してあるとおり、インポートすることができます。 私も、schema.ini ファイルは使ったことないので、中身のことについては 分かりませんけど。。 通常は、あんまり使うことはないと思います。 |
平社員さん、イケガミさん、こんにちは 横レス失礼します。 Schema.ini についてはここを参照してみてください。 http://support.microsoft.com/default.aspx?scid=kb;ja;JP155512 |
返答ありがとうございます。なんだか難しい世界でした。 今後勉強していきたいと思います。 |
追加クエリーでID付きの新たなテーブルをインポートできるとのことでしたが ADOではクエリーの記述はできないのですか? やっぱり出来てあるクエリーを実行しに行くかSQLで記述という事なのでしょうか? すみませんお暇な時にでも教えてください。 |
>ADOではクエリーの記述はできないのですか? ADOでも大丈夫だと思いますけど、 DoCmd.RunSQL を使えばいいのでは? |
DoCmd.RunSQL "insert into テーブル1(text)" & _ "select text2" & _ "from テーブル2;" こんなかんじでしてみましたがエラーがでます。 ちなみにテーブル1及びテーブル2共に新規作成し テーブル1には ID(オートナンバー),text(テキスト) というフィールドを テーブル2には ID2,text2 というフィールドを作っています。 これはうまくいけば "insert ・・"が"Insert・・"みたいになるんでしょうか? |
▼平社員 さん: >DoCmd.RunSQL "insert into テーブル1(text)" & _ >"select text2" & _ >"from テーブル2;" >こんなかんじでしてみましたがエラーがでます。 エラーがでる場合は、エラーの内容も教えてください。 この場合は、構文エラーじゃないですか? #SQL文の。 Dim strSQL As String strSQL = "Insert Into テーブル1(text) " & _ & "Select text2 " _ & "From テーブル2;" DoCmd.RunSQL strSQL >これはうまくいけば "insert ・・"が"Insert・・"みたいになるんでしょうか? 文字列の中身は、変わりませんよ。 大文字でも小文字でもOKです。 |
すみませんエラーの内容書くのは当然の話でした。 >Dim strSQL As String >strSQL = "Insert Into テーブル1(text) " & _ > "Select text2 " _ > & "From テーブル2;" >DoCmd.RunSQL strSQL これでもやはり"INSERT INTO"の構文エラーがでます。 こっちのPC側の問題でしょうか? |
>>strSQL = "Insert Into テーブル1(text) " & _ >> "Select text2 " _ & "Select text2 " & _ すいません。。"&"が抜けてました。。 |
▼イケガミ さん: >>>strSQL = "Insert Into テーブル1(text) " & _ >>> "Select text2 " _ > > & "Select text2 " & _ > >すいません。。"&"が抜けてました。。 あっ "&" はこっちで消しました。それをいれるとコンパイルエラーが でたので・・。それで "&" を消すと今度は先程の構文エラーがでました。 |
Access2000ヘルプ(使用例)より引用。 --------------------------------------------------------------------- INSERT INTO ステートメントの使用例 次の例では、New Customers テーブルのすべてのレコードを選択し、 Customers テーブルに追加します。個々の列を指定しない場合は、 SELECT でのテーブルの列名と INSERT INTO でのテーブルの列名とが 一致している必要があります。 Sub InsertIntoX1() Dim dbs As Database ' この下の行を、使用しているコンピュータ上の ' Northwind のパスに変更してください。 Set dbs = OpenDatabase("Northwind.mdb") ' New Customers テーブルのすべてのレコードを選択し、 ' Customers テーブルに追加します。 dbs.Execute " INSERT INTO Customers " _ & "SELECT * " _ & "FROM [New Customers];" dbs.Close End Sub --------------------------------------------------------------------- 見比べてみてください。 |
横レスすみません。 追加クエリーで、追加先と追加するテーブル名を指定してますが それを変数で指定することはできるんでしょうか? たとえばテーブル名称を入力させてそこに追加するとか・・・ |
新規質問をしていただいた方がいいのですが。。 dbs.Execute " INSERT INTO " & Me!txt追加先 & " " _ & "SELECT * " _ & "FROM " & Me!txt追加元 & ";" Me!txt追加先 Me!txt追加元 が、フォームのテキストボックス名です。 |
あれこれしているうちになんだかおかしくなって来たので もう一度ご指示どおり最初からしてみました。 何度も何度も返答していただき。ありがとうございました。 また何かあるときは教えていただくとありがたいです。 今度はもう少し勉強してから天の声を聞くことにします。 ありがとうございました。 |