Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


2045 / 2272 ツリー ←次へ | 前へ→

【4111】リンク先を張りなおすとクエリーが動かない 山田 05/1/11(火) 12:11 質問[未読]
【4113】Re:リンク先を張りなおすとクエリーが動かな... クロ 05/1/11(火) 13:42 回答[未読]
【4114】Re:リンク先を張りなおすとクエリーが動かな... 山田 05/1/11(火) 13:53 質問[未読]
【4115】Re:リンク先を張りなおすとクエリーが動かな... クロ 05/1/11(火) 14:04 回答[未読]
【4118】Re:リンク先を張りなおすとクエリーが動かな... 山田 05/1/11(火) 18:01 質問[未読]
【4119】Re:リンク先を張りなおすとクエリーが動かな... クロ 05/1/11(火) 18:13 回答[未読]
【4127】Re:リンク先を張りなおすとクエリーが動かな... 山田 05/1/12(水) 13:06 お礼[未読]
【4128】Re:リンク先を張りなおすとクエリーが動かな... クロ 05/1/12(水) 13:19 発言[未読]
【4129】Re:リンク先を張りなおすとクエリーが動かな... 山田 05/1/12(水) 13:34 お礼[未読]

【4111】リンク先を張りなおすとクエリーが動かない
質問  山田  - 05/1/11(火) 12:11 -

引用なし
パスワード
   外部のtextファイルにリンクを張っているのですが
リンク先だけを随時張りなおす必要があるため
VBAで下記のように処理したのですが

’古いテーブルを削除する
DoCmd.DeleteObject acTable,"T_OldLinkTable"
’新たなテキストファイルにリンクしなおす
DoCmd.TransferText cLincDelim,,"T_NewLinkTable",LinkFile


テーブルを削除した時点で、古いテーブルから作ったクエリーが
正常に動いてくれません
どうしたら元のクエリーも生かして使用できるでしょうか?
ご教授ください。

【4113】Re:リンク先を張りなおすとクエリーが動か...
回答  クロ  - 05/1/11(火) 13:42 -

引用なし
パスワード
   >’古いテーブルを削除する
>DoCmd.DeleteObject acTable,"T_OldLinkTable"
>’新たなテキストファイルにリンクしなおす
>DoCmd.TransferText cLincDelim,,"T_NewLinkTable",LinkFile

テーブルオブジェクト名が変わるからということなら

DoCmd.TransferText acLinkDelim, , "T_OldLinkTable", LinkFile

のように前と同じ名前にすればいいのでは?
※更新時間で新しいか古いかを確認する

【4114】Re:リンク先を張りなおすとクエリーが動か...
質問  山田  - 05/1/11(火) 13:53 -

引用なし
パスワード
   ▼クロ さん:
>>’古いテーブルを削除する
>>DoCmd.DeleteObject acTable,"T_OldLinkTable"
>>’新たなテキストファイルにリンクしなおす
>>DoCmd.TransferText cLincDelim,,"T_NewLinkTable",LinkFile
>
>テーブルオブジェクト名が変わるからということなら
>
>DoCmd.TransferText acLinkDelim, , "T_OldLinkTable", LinkFile
>
>のように前と同じ名前にすればいいのでは?
>※更新時間で新しいか古いかを確認する


すみません、リンク後のテーブル名は下記のように同じでした。
もちろんフィールド名も同じです。
それでも、削除時に一旦リンクが外れてしまうと駄目なようです。
何か方法ありませんでしょうか?

DoCmd.DeleteObject acTable,"T_LinkTable"
’新たなテキストファイルにリンクしなおす
DoCmd.TransferText cLincDelim,,"T_LinkTable",NewLinkFile

【4115】Re:リンク先を張りなおすとクエリーが動か...
回答  クロ  - 05/1/11(火) 14:04 -

引用なし
パスワード
   クエリを開きっぱなしで行っているとか?
当方では特に問題はないのですが...

もしかしたらリンク時の定義(データ型)が違うとか?

【4118】Re:リンク先を張りなおすとクエリーが動か...
質問  山田  - 05/1/11(火) 18:01 -

引用なし
パスワード
   ▼クロ さん:
>クエリを開きっぱなしで行っているとか?
>当方では特に問題はないのですが...
>
>もしかしたらリンク時の定義(データ型)が違うとか?

有難うございました。
調べたら正にそのとおりでした。
フィールド名が「フィールド1」から「F1」のように変わっていました。
リンク時のフィールド名を「フィールド1」と定義するように
VBAで記述する方法はないのでしょうか?

ご教授ください

【4119】Re:リンク先を張りなおすとクエリーが動か...
回答  クロ  - 05/1/11(火) 18:13 -

引用なし
パスワード
   ※ cLincDelim は acLinkDelim ですよ。転記ミスだと思うけど...

簡単なのはリンク定義でFをフィールド1にするようにしておいて
保存し、SpecificationNameに指定してあげてください。

DoCmd.TransferText acLinkDelim, "リンク定義名", "T_LinkTable", LinkFile

【4127】Re:リンク先を張りなおすとクエリーが動か...
お礼  山田  - 05/1/12(水) 13:06 -

引用なし
パスワード
   ▼クロ さん:
>※ cLincDelim は acLinkDelim ですよ。転記ミスだと思うけど...
>
>簡単なのはリンク定義でFをフィールド1にするようにしておいて
>保存し、SpecificationNameに指定してあげてください。
>
>DoCmd.TransferText acLinkDelim, "リンク定義名", "T_LinkTable", LinkFile


有難うございます。
定義そのものをVBAで指定する方法は無いのでしょうか?

【4128】Re:リンク先を張りなおすとクエリーが動か...
発言  クロ  - 05/1/12(水) 13:19 -

引用なし
パスワード
   http://www.ruriplus.com/msaccess/tch/tch_040.html
こちらを参考にしてみては?

【4129】Re:リンク先を張りなおすとクエリーが動か...
お礼  山田  - 05/1/12(水) 13:34 -

引用なし
パスワード
   ▼クロ さん:
>http://www.ruriplus.com/msaccess/tch/tch_040.html
>こちらを参考にしてみては?


有難うございます。
よくわかりました。

ほんとに助かりました。

2045 / 2272 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
1078238
(SS)C-BOARD v3.8 is Free