• ベストアンサー

アクセス2010でコンパイルエラーが出てしまいます

アクセス2010でコンパイルエラーが出てしまいます。 Private Sub <_条件入力画面を開く_Click() Private Sub JJJ・メディカル評価対比表_Click() Private Sub エクセルに出力(指摘あり)_Click() office2003からoffice2010に変更したところ、上記の箇所がエラーになってしまいました。 これだけでは、わからないという事でしたらおっしゃってください。 お手数掛けますが、よろしくお願いいたします。 (初心者なのでわかりやすい回答ですと助かります...)

質問者が選んだベストアンサー

  • ベストアンサー
  • chie65535
  • ベストアンサー率43% (8518/19364)
回答No.1

「今まで使えていた文字の一部が、新バージョンで使えなくなった」ので、使えない文字を排除しましょう。 「<」や「・」や「(」や「)」は、新バージョンから「全角にしても使えない」ので、オブジェクト名(ボタン名)に、これらの文字を使っている場合は、ボタン名と、クリック時のイベントプロシージャ名(Sub名)を変更しないといけません。

hara8854tt
質問者

お礼

早急にご回答いただきありがとうございました!! なんとか解決できそうです。助かりました♪

hara8854tt
質問者

補足

早急にご回答いただけて助かりましたので、 こちらをベストアンサーにしたいと思います。 ありがとうございました。

その他の回答 (1)

回答No.2

今まで動いていたのが不思議。 Access での作業時に使用すべきでない特殊文字 http://support.microsoft.com/kb/826763/ja 上記は英語環境の話なので日本語なら半角/全角問わずと理解してください。 重複する部分もありますが、さらに、日本語環境独自で、 フィールド、コントロール、オブジェクトや変数などに付ける「名前」について http://ww3.tiki.ne.jp/~kaya/Ac_tips.html#Tips0_001 (残念なことに今月末で閉鎖されるそうです。) ついでに予約語も http://office.microsoft.com/ja-jp/access-help/HA010030643.aspx

hara8854tt
質問者

お礼

たくさんリンクを貼っていただき、ありがとうございます。 なんとか解決できそうです。 リンク先の内容は、今後も参考にさせていただきます。 ありがとうございました♪

関連するQ&A

  • アクセスVBA コンパイルエラー

    フォームを開いた時にフォームの高さを設定したいので Private Sub Form_Open(Cancel As Integer) Me.Height = 12000 End Sub としてるのですが「.Height =」の部分がコンパイルエラーになってしまいます。 何がいけないのでしょうか?

  • Access2000のVBAでコンパイルエラー

    Access2000のVBAで初歩的な質問があります。 「tblShi」というテーブルがあります。 フォームにボタン「btn1」を作り、 デザインビューでボタンのプロパティを開いて イベントのクリック時のところで、 「ビルダの選択」をコードビルダにしました。 そして「Private Sub btn1_Click()」の中に、最初に   Dim db As Database という記述をしています。 このフォームを開いてボタンを押すと、なぜか   コンパイルエラー   ユーザ定義型は定義されていません というエラーが表示されてしまいます。 たしかにコードを書いているときに、   Dim db As のところまで入れると、小さいウィンドウの中に たくさん候補が表されますが、 その中に「Database」というのがないです。 「QueryDef」とか「Workspace」とかもありませんでした。 (「Recordset」はありまして、それはコンパイルが通ります) いろいろな解説を見ても、やはり最初はどれも 「Database」型を宣言しているようなんですが… 何がよくないのでしょうか。 もしわかる方がいらっしゃったら教えてください。

  • OpenFormがACCESS2000でエラー

    メニューのフォームで使っているOpenFormがACCESS2000で次のエラーがでます。OFFICE365では出ません。 「selectステートメントが間違っている予約語や引数を含んでいるか、区切り記号が正しくありません」 例えば次のコードです。 Private Sub 受注入力_Click() DoCmd.OpenForm "受注入力" End Sub 同じようなコードでも次のコードではなぜか出ていません。 Private Sub 受注入力B_Click() DoCmd.OpenForm "受注入力B" End Sub このフォームは何年も変更しておらずエラーは出なかったのですが、1か月前あたりから出るようになりました。 なぜかお分かりの方がおられましたらご教示願えませんでしょうか。

  • 《エクセル2000VBA》なぜコンパイルエラーになるのかわかりません…

    最近、ここには本当にお世話になっております。 以前作ったVBA(コマンドボタンを押すと、別シートにデータが転記される)のコードを変更したら、一番上のPrivate Subの行の文字が赤くなり、コピー元のシートのボタンにカーソルを持っていくと「コンパイルエラーです」と出るようになってしまいました。 そこでバックアップで保存してあった、問題なく動く過去のファイルを開いてみたのですが、Private Sub周辺の部分の書き方は全く同じです。 というわけで、Private Subがコンパイルエラーになる条件が、よくわからないのですが… 原因が思いつかず、ほとほと困っています。 何とかこの現象を解決したいのですが、どうすればいいでしょうか。

  • 同じマクロ名でも、違うモジュールならエラーにならな

    同じマクロ名でも、違うモジュールならエラーにならない? エクセルVBAについてご教授ください。 標準モジュールに ――――――――― Option Explicit Sub CommandButton1_Click() MsgBox "" End Sub Sub CommandButton1_Click() MsgBox "" End Sub ――――――――― と同じマクロ名を2つ作ったら、コンパイルエラーになりますが、 上記のコードは一度消して、フォームモジュールに ――――――――― Private Sub CommandButton1_Click() MsgBox "" End Sub ――――――――― を一つ作り、 標準モジュールに ――――――――― Sub CommandButton1_Click() MsgBox "" End Sub ――――――――― を一つ作った場合は、エラーにならずにマクロを実行できました。 これは、フォームモジュールがPrivate Subだからでしょうか? フォームモジュールに1つ、 標準モジュールに1つ なら同じマクロ名を使っても、エラーにならないという事でしょうか? よろしくお願いします。

  • アクセス2003 エラー13

    超初心者です。 簡単な下記の式なのですが、実行時エラー13 型が一致しません とエラーメッセージが出ます。 Private Sub コマンド0_Click() Me!テキスト1.FontSize = Me!テキスト5 End Sub テキスト名は合っています。 ご教示よろしくお願いします。

  • VBA:コンパイルエラー

    http://www.microsoft.com/japan/msdn/columns/office/office06012000.asp にて示されたWebクエリダイアログを作成中: 以下の 'エラー の行で 「compile error:メソッドまたはデータメンバが見つかりません」 が発生、頓挫中。 ご教授お願いします。 Dim gcolTablesOnPage(15) As String Dim gintCurrentRecord As Integer Private Declare Sub Sleep Lib "KERNEL32" (ByVal dwMilliseconds As Long) Private Sub CB1_Click() WebBrowser1.Navigate2 "http://quote.yahoo.co.jp/m3?u" Call Sleep(5999) MsgBox "*" Set colTables = WebBrowser1.Document.all.tags("TABLE") End Sub Private Sub CB3_Click() Dim colTables As Object Dim colCurrentTable As Object Dim intcntr As Integer With WebBrowser1 gintCurrentRecord = 0 Set colTables = .Document.all.tags("TABLE") For Each colCurrentTable In colTables Call cHTM(colCurrentTable.outerhtml, gintCurrentRecord) gintCurrentRecord = gintCurrentRecord + 1 Next colCurrentTable End With End Sub Function cHTM(x, gintCurrentRecord) Dim tempHtml As String tempHtml = gcolTablesOnPage(gintCurrentRecord) tempHtml = "<HTML><HEAD><TITLE></TITLE></HEAD><BODY>" & x & "</BODY></HTML>" End Function Private Sub CB5_Click() Dim gintCurrentRecord As Integer gintCurrentRecord = 0 If Me.gintCurrentRecord < gcolTablesOnPage.Count Then 'エラー Me.gintCurrentRecord = Me.gintCurrentRecord + 1 WebBrowser1.Navigate2 gcolTablesOnPage(Me.gintCurrentRecord) End If ge.Count End Function

  • アクセス(access)からエクセルにエクスポート

    アクセスから、エクセルにクエリのデータを出力する際に、 「TransferSpreadsheet」を使用していますが、 そのエラー処理について、教えて下さい。 保存しようとしているファイルが既に開かれている場合に、 処理を中止し、エラーメッセージを出したいのですが、 どのようにすればいいのでしょうか? なお、現在のVBAは次のとおりです。 Private Sub コマンド01_Click() Dim a As String Dim b As Variant a = "Q_一覧表" b = "C:\一覧表.xls" DoCmd.TransferSpreadsheet acExport, _ acSpreadsheetTypeExcel9, a, b, True MsgBox "データを出力しました。" Exit Sub End Sub

  • Winsockのオブジェクトエラー

    こんにちは。EXCEL2000・VBAで、Winsockの使用を考えています。 以下のソースコードを入力して、実行してもオブジェクトが見つかりませんという、エラーが出力されてしまいます。 また、Winsockをアクティブにしようと、 User FormにWinsockのアイコンを追加しようとしても 「サブジェクトは指定された操作に対して信頼されません」 という注意書きがでてしまって、追加できません。 なぜ、このようになるのか、教えていただけますか? よろしくお願いします。 Private Sub CommandButton1_Click() Winsock1.RemoteHost "www.yahoo.co.jp" Winsock1.RemotePort 80 Winsock1.Connect End Sub Private Sub CommandButton2_Click() Winsock1.SendData = TextBox1.Value End Sub Private Sub CommandButton3_Click() Winsock1.Close End Sub

  • VBAコンパイルエラー

    VBA初心者です。 以下の構文でコンパイルエラーがでます。 どこが悪いでしょうか。。 Private Sub AddNewButton_Click()←ここが黄色になっています。 'データを更新する WriteData CurrentRecord 'テキストボックスをクリアにする PatientBox.Text = "" TimeBox.Text = "" InstitutionCombo.Text = "" MedicineBox.Text = "" DemondBox.Text = "" TotalBox.Text = "" CompanyNameCombo.Text = "" SectionCombo1.Text = "" SectionCombo2.Text = "" NameBox.Text = "" 'レコードとデータ件数を表示する RecordCount = RecordCount + 1 CurrentRecord = RecordCount RecordLabel = "レコード件数:" & CurrentRecord & "/" & RecordCount 'カーソルを患者名に移動する PatientBox.SetFocus End Sub

専門家に質問してみよう