Access VBA質問箱 IV

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

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


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

【11848】文字数で実行するクエリを分けるために 初心者A 10/11/15(月) 10:49 質問[未読]
【11849】Re:文字数で実行するクエリを分けるために 10/11/15(月) 11:03 発言[未読]
【11850】Re:文字数で実行するクエリを分けるために 10/11/15(月) 11:05 発言[未読]
【11851】Re:文字数で実行するクエリを分けるために 初心者A 10/11/15(月) 11:25 質問[未読]
【11852】Re:文字数で実行するクエリを分けるために 10/11/15(月) 12:50 回答[未読]

【11848】文字数で実行するクエリを分けるために
質問  初心者A  - 10/11/15(月) 10:49 -

引用なし
パスワード
   Access VBA にて作成したいプログラムがあるのですが、どうしても行き詰ってしまい自力で解決できない部分が出てきてしまっております。

もし問題解決方法がわかる方いらっしゃいましたら、ヒント・助言頂けませんでしょうか。

状態:
Access2000 にて作成。
フィールドに入力されている文字数によって、実行する更新クエリを変える、という動作を入れたい。
が、作成したプログラムを動かそうとすると、「実行時エラー‘424‘ オブジェクトが必要です。」というエラーメッセージが表示されてしまい、動作が止まってしまう。

記述:
Public Sub (省略)
Dim 変数1 as (省略)(変数の型が違う、などのエラーメッセージは出てきていません)

変数1 = Len(テーブル名.フィールド名) <ここで止まる

If 変数1 > 4 Then

(省略)


以上です。よろしくお願い致します。

【11849】Re:文字数で実行するクエリを分けるために
発言    - 10/11/15(月) 11:03 -

引用なし
パスワード
   雅です。

>Public Sub (省略)
>Dim 変数1 as (省略)(変数の型が違う、などのエラーメッセージは出てきていません)
>
>変数1 = Len(テーブル名.フィールド名) <ここで止まる

省略しすぎでさっぱりわかりません。
「テーブル名.フィールド名」どこでやってんですかね?

【11850】Re:文字数で実行するクエリを分けるために
発言    - 10/11/15(月) 11:05 -

引用なし
パスワード
   雅です。

私も省略しすぎでしたね。

>「テーブル名.フィールド名」どこでやってんですかね?
「テーブル名.フィールド名」の定義はどこでやってんですかね?
でした。

【11851】Re:文字数で実行するクエリを分けるために
質問  初心者A  - 10/11/15(月) 11:25 -

引用なし
パスワード
   >雅さん

省略しすぎとのこと、了解です。
プログラム先頭から、該当する問題発生箇所までを以下に記述してみます。

--------------

Public Sub サブプログラム1()

 Dim 変数1 As Integer

 Application.Echo False  
 DoCmd.SetWarnings False

 DoCmd.TransferText acImportDelim, , "テーブル名", "C:\(省略)\テキスト1.txt", False
 変数1 = Len(テーブル名.フィールド名) <ここで止まる

 If 変数1 > 4 Then
  DoCmd.OpenQuery "更新クエリ1", acViewNormal, acEdit
  DoCmd.TransferText acExportDelim, , "更新クエリ1", "C:\(省略)\テキスト2.txt", True

 Else
  DoCmd.OpenQuery "更新クエリ2", acViewNormal, acEdit
  DoCmd.TransferText acExportDelim, , "更新クエリ2", "C:\(省略)\テキスト2.txt", True

 End If

(省略)

 End Sub

以上です。
このくらいで・・・だいたい、どういう動作をさせようとしているか、伝わりますでしょうか・・・?

【11852】Re:文字数で実行するクエリを分けるために
回答    - 10/11/15(月) 12:50 -

引用なし
パスワード
   雅です。

> DoCmd.TransferText acImportDelim, , "テーブル名", "C:\(省略)\テキスト1.txt", False
> 変数1 = Len(テーブル名.フィールド名) <ここで止まる

テーブル名.フィールド名 ってのはどこで定義してますか?
どこかで「テーブル名」というRecordsetオブジェクトを定義していて
どこかでOpenRecordsetしているんだとは思いますが。

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