Access VBA質問箱 IV

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

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


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

【6800】コンパイルエラーで困っています。 05/11/11(金) 14:56 質問[未読]
【6801】Re:コンパイルエラーで困っています。 てっちゃん 05/11/11(金) 15:52 発言[未読]
【6805】Re:コンパイルエラーで困っています。 05/11/11(金) 16:40 質問[未読]
【6807】Re:コンパイルエラーで困っています。 てっちゃん 05/11/11(金) 18:02 回答[未読]
【6828】Re:コンパイルエラーで困っています。 05/11/17(木) 19:10 お礼[未読]

【6800】コンパイルエラーで困っています。
質問   E-MAIL  - 05/11/11(金) 14:56 -

引用なし
パスワード
   フォーム上にあるボタンを押すことによりデータの保存を実行したいのですが、
コンパイルエラーがでて困っています。
ヘルプを見ても問題が何処にあるのかわかりません。

エラー内容:
コンパイルエラー
Sub、FunctionまたはProperityが必要です。

作成しているコードは、
Private Sub save_Click()

Dim myMSG As String

On Error GoTo ERR_3022 '抽出条件が未入力の場合

myMSG = Nz(DLookup("テーブル名", "Q_全課題番号", _
          "課題番号='" & Me.txt1 & "'"), "")
If myMSG = "" Then
         
If vbYes = MsgBox("データを登録しますか?", vbYesNo, "確認") Then
'テーブルへのレコード登録
    Set rs = CurrentDb.OpenRecordset("T_008一般業務", dbOpenDynaset, dbSeeChanges)
    rs.AddNew

'一般業務レコード
    rs![課題番号] = txt1
    rs![業務名もしくは内容] = txt2
    rs![設計受付年月日] = txt3
    rs![回答予定年月日] = txt19
    rs![回答実績年月日] = txt4
    rs![DR1実施有無] = check1
    rs![DR1実施予定日] = txt5
    rs![DR1実施日] = txt6
    rs![案件状態] = check2
    rs![単価] = txt21
    rs![技術検討計画] = txt7
    rs![社内外調整計画] = txt8
    rs![所内試験計画] = txt9   
  
    rs.Update
    rs.Close
  Set rs = Nothing
  End If
Else
MsgBox myMSG & " で既に登録されています"
End If

ERR_3022:
  If Err.Number = 3022 Then
      MsgBox "入力した課題番号は重複しています。" & Chr(13) _
      & "設計管理Tに確認の上、再度入力して下さい。", vbOKOnly
      
      
  End If


End Sub

以上です。助けてください。

【6801】Re:コンパイルエラーで困っています。
発言  てっちゃん  - 05/11/11(金) 15:52 -

引用なし
パスワード
   ▼爺 さん:
こんにちは
>エラー内容:
>コンパイルエラー
>Sub、FunctionまたはProperityが必要です。
エラーメッセージのあとに、「デバッグ」を選択すると、
エラーが発生した行が反転しているかと思います。

反転しなかった場合、
>On Error GoTo ERR_3022 '抽出条件が未入力の場合
この行を一時コメント化すれば反転します。

どこでエラーが起きたのかをみると原因が分かるかもしれませんし、
分からなくても、ここに載せると回答付きやすいかと思います。

一度確認してみてください。


たぶん、、、、、
CurrentDbを使用する為の、DAO参照設定か、
rsの変数宣言がされていないところ。
あやしい匂い(??)がします。

【6805】Re:コンパイルエラーで困っています。
質問    - 05/11/11(金) 16:40 -

引用なし
パスワード
   回答ありがとうございます。
エラーとして黄色く反転している箇所は、

Private Sub save_Click()

の箇所です。

別のフォームには、これと同じコードで問題なく動いているため
何処に問題があるのか検討がつきません。

”これと同じ”というのは、保存先が違うだけでそれ以外のコードは
同じという意味です。

【6807】Re:コンパイルエラーで困っています。
回答  てっちゃん  - 05/11/11(金) 18:02 -

引用なし
パスワード
   ▼爺 さん:
>>たぶん、、、、、
>>CurrentDbを使用する為の、DAO参照設定か、
参照設定で、「Microsoft DAO X.X Object Library」
にチェックは入っているますか?
あるいは、参照不可になっているところはありませんか?

>>rsの変数宣言がされていないところ。
提示されたコードでは、 Dim rs AS DAO.recordset の
宣言がありませんが、冒頭などで宣言しているのでしょうか?
(それとも、変数の宣言を強制してない?)

>別のフォームには、これと同じコードで問題なく動いているため
>何処に問題があるのか検討がつきません。
同じMDBの中の別のフォームということなのでしょうか?
同じMDB内でしたら、上記の参照設定は大丈夫だと思います。
違うMDBでしたら、参照設定を疑ってみてください。


ダメな場合は、
>Private Sub save_Click()
〜この間のコードをコピーして〜
>End Sub

一旦コード丸ごと削除します。
>Private Sub save_Click()
から
>End Sub
までです。

ボタン名を「Btn_save」に変更して、
クリック時のイベントのビルダボタンを押します。
Private Sub Btn_save_Click()

End Sub
この間に、ペーストしてみて下さい。
(名前の変更は、関係ないかもしれませんが、、、、)


それでもダメなら、、、、、フォームの作り直し!?

【6828】Re:コンパイルエラーで困っています。
お礼   E-MAIL  - 05/11/17(木) 19:10 -

引用なし
パスワード
   解決しました。
原因は、「!」がない箇所がプログラム中にあったためでした。

返事が遅くなりすみませんでした。

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