
お世話になっております。
先ほどまで、違うスレで質問していたものです。
おかげさまで、Private Sub scdSelect()のようなコードとなり、
こちらの方は無事動作しましたが、それをコピーして、
Private Sub denbanSelect()を作成すると、実行時エラー3265が
発生しました。
なぜエラーが発生するのか、検討もつきません。
何かほかに前提条件があるのでしょうか?
各サブフォームのイミディエイトウインドウで
?me.parent.openargs とすると、しっかりと引数は入っております。
教えて君で申し訳ありませんが、どなたご教授よろしくお願いします。
★呼び出し元フォーム
Private Sub cmdSeekDenban_Click()
DoCmd.OpenForm "resultJDenban", , , , , , Me.Name & ".resultViewJyutyuDenban"
End Sub
Private Sub cmdSeek_Click()
DoCmd.OpenForm "resultScd", , , , , , Me.Name & ".resultViewJyutyu"
End Sub
Public Sub resultViewJyutyu()
☆結果の表示(商品コード検索用)
end sub
Public Sub resultViewJyutyuDenban()
☆結果の表示(伝票番号検索用)
end sub
★検索画面 商品コード用 サブフォーム
Private Sub 商品コード_DblClick(Cancel As Integer)
Call scdSelect
End Sub
Private Sub scdSelect()
Dim Pos
Dim MyFrm
Dim ProcName
Pos = InStr(Me.Parent.OpenArgs, ".")
Set MyFrm = Forms(Left(Me.Parent.OpenArgs, Pos - 1))
ProcName = Right(Me.Parent.OpenArgs, Len(Me.Parent.OpenArgs) - Pos)
MyFrm.txtScd.Value = 商品コード.Value
MyFrm.txtEdaban.Value = 枝番.Value
DoCmd.Close acForm, "resultScd", acSaveNo
CallByName MyFrm, ProcName, VbMethod
End Sub
★検索画面 受注伝票番号用 サブフォーム
Private Sub 商品CD_DblClick(Cancel As Integer)
Call denbanSelect
End Sub
Private Sub denbanSelect()
Dim Pos
Dim MyFrm
Dim ProcName
Pos = InStr(Me.Parent.OpenArgs, ".")
Set MyFrm = Forms(Left(Me.Parent.OpenArgs, Pos - 1))
ProcName = Right(Me.Parent.OpenArgs, Len(Me.Parent.OpenArgs) - Pos)
MyFrm.txtDenban.Value = 伝票番号.Value
CallByName MyFrm, ProcName, VbMethod ←エラー発生★★★
DoCmd.Close acForm, "resultJDenban", acSaveNo
End Sub
エラー内容
実行時エラー '3265'
アプリケーション定義またはオブジェクト定義エラーです。
No.1ベストアンサー
- 回答日時:
よく分かりませんが
Private Sub scdSelect()
と
Private Sub denbanSelect()
で
DoCmd.Close acForm, "resultScd", acSaveNo
CallByName MyFrm, ProcName, VbMethod
と
CallByName MyFrm, ProcName, VbMethod
DoCmd.Close acForm, "resultJDenban", acSaveNo
と位置関係が違いますがどうなんでしょう…
アクセスは、エラーが出てデバッグで選択される行に原因があるとは限らないことがわりとありますので、そこばかり注視してると全然違うところでおかしかったりします。
Left(Me.Parent.OpenArgs, Pos - 1)
や
ProcName
の中身も確認してみてください。
ちなみに★検索画面 商品コード用 サブフォームのほうではエラーはでないのでしょうか
この回答への補足
アクセスは、エラーが出てデバッグで選択される行に原因があるとは限らないことがわりとありますので、そこばかり注視してると全然違うところでおかしかったりします。
が解決策でした。
いろいろとコードをいじっているうちに、変えてしまっていて、
それの検証ができてなかったのが最大の原因でした。
お恥ずかしい話です。以後は、気をつけます。
kmetuさま
たびたびありがとうございます!
本当に感謝します。
位置関係は、変えても結果に変わりはありません。
下記は、イミディエイトウインドウの結果です。
?Left(Me.Parent.OpenArgs, Pos - 1)
frmJyutyu
?procname
resultViewJyutyuDenban
>ちなみに★検索画面 商品コード用 サブフォームのほうではエラーはでないのでしょうか
こちらは、前回教えていただいたとおりに記述して、問題なく実行されました。
>アクセスは、エラーが出てデバッグで選択される行に原因があるとは限らないことがわりとあります
ですよね。それで、変数宣言してないのが原因だととOption Explicitをいれてみたり・・・
再起動してみたりと、していますが・・・
いろいろとやっていますが、まだ解決できていません。
No.2
- 回答日時:
どちらも代入部分を除いてまったく同じですね、なのに片方だけとなると
MyFrm.txtDenban.Value = 伝票番号.Value
をコメントにしてみて確認するとか…
もしかしてtxtDenbanというフィールドがないとか、タイプミスでちょっと違ったとかだと話は早いのですが…
この回答への補足
kmetuさま
昨日は大変お世話になりました。
おかげさまで、無事解決しました。
原因は、呼び出される側のプロシージャーでエラーが発生していたこと。
コピーペーストで作成したプロシージャーに不要なコードが記述されており、
それを消去すると無事とおりました。
従いまして、ご教授いただいたコードは完璧でした。
昨日はすっきり寝れませんでしたが、今日はようやく寝れそうです。
最後までお付き合いくださいまして、ありがとうございました。
遅くに返信ありがとうございます。
txtDenbanというフィールドは存在します。
MyFrm.txtDenban.Value = 伝票番号.Value はコメントアウトしても
結果は変わりません。
MACのFUSIONにWIN7を入れて、アクセス2013をいれて作成していましたが、
レッツノートのwin7のアクセス2013に移してみても同様の結果でした。
伝票番号の検索画面を1から作成しなおしてみます。
どこかでなにかが・・・無いと思ってますが、念のため。
遅くまでありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
実行時エラー 3265「要求された名前、または序数
Visual Basic(VBA)
-
Access 2010で実行時エラー3061
その他(Microsoft Office)
-
Accessのマクロでモジュールを実行させたい。
Access(アクセス)
-
-
4
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
5
Accessのフィールド名に半角括弧を使ってしまった
Visual Basic(VBA)
-
6
ADO VBA 実行時エラー3021
Visual Basic(VBA)
-
7
実行時エラー3001「引数が間違った型、許容範囲外、または競合しています。」
Visual Basic(VBA)
-
8
Access2000、これはいったい・・・・
その他(データベース)
-
9
MS Accessでフォームの「開く時」と「読込み時」のイベントの違い
Access(アクセス)
-
10
Access_Formのデザインビュー画面を拡大表示
Access(アクセス)
-
11
アクセスで数値型のフィールドにNullをいれたい
その他(データベース)
-
12
INSERT INTO ステートメントに認識できないフィールド
その他(データベース)
-
13
Access VBA標準モジュールについてです。
Access(アクセス)
-
14
Access 別フォームへの再クエリ(更新)がしたい。
その他(データベース)
-
15
Access2010 「演算子がありません」エラー
その他(データベース)
-
16
Accessのリンク先を相対パスにしたい
その他(データベース)
-
17
レコードを保存するコード アクセスvba
その他(Microsoft Office)
-
18
Access終了時にマクロまたはVBAの実行したい
その他(Microsoft Office)
-
19
サブフォームを非表示させる方法を教えて下さい
その他(Microsoft Office)
-
20
Accessで別テーブルの値をフォームに表示したい
その他(データベース)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
実行時エラー 438になった時の...
-
VBAがブレークモードになっ...
-
Excel VBA comboboxへの割り当て
-
実行時エラー3001「引数が間違...
-
実行時エラー48発生時のDLL特定...
-
【マクロ】エラー【#DIV/0!】が...
-
マクロについて教えてください...
-
実行時エラー -'-2147417848
-
なぜエラーになるのでしょうか...
-
VBAでのエラー
-
ExcelVBA Range クラスの Page...
-
VBAのグラフの設定について
-
VBAの実行時エラー91!どうしよ...
-
AccessVBAでExcelを起動し、罫...
-
Invalid procedure call or arg...
-
VBAで入力規則の設定がうまくい...
-
VBS実行時エラー オブジェクト...
-
OLEDB.NETで接続できない
-
Access:結果は出るがエラー
-
EXCEL VBAマクロ中断でデバッグ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
実行時エラー 438になった時の...
-
VBAがブレークモードになっ...
-
【マクロ】エラー【#DIV/0!】が...
-
なぜこんな初歩的なVBAのIf文で...
-
VBAでのエラー
-
実行時エラー -'-2147417848
-
実行時エラー48発生時のDLL特定...
-
マクロについて教えてください...
-
ExcelVBA Range クラスの Page...
-
EXCEL VBAマクロ中断でデバッグ...
-
実行時エラー3001「引数が間違...
-
EXCEL/VBAで、自分のPCだけエラ...
-
VB6+SQL サーバー 2000 で 実行...
-
VBAのエラー発生場所をメッセー...
-
ADODB.Streamを使用してUTF-8を...
-
【Excel VBA】マクロをボタンに...
-
OLEDB.NETで接続できない
-
なぜエラーになるのでしょうか...
-
INSERT INTOステートメント構文...
-
Outlook.ApplicationをCreateOb...
おすすめ情報