• ベストアンサー

誰かVisualBasicのデータフォームウィザードを教えてください。

gould09の回答

  • ベストアンサー
  • gould09
  • ベストアンサー率33% (196/589)
回答No.1

こんにちは 質問の情報だけでは、どんな問題が起こっているのかわかる人はいないと思います。 少なくとも、コンパイルエラーが発生している所のコーディングとエラーメッセージにあるように、プロシージャの定義かイベントか定義のリストを記述してください。 そうしないと、yamitsuさんが何を作ってどんなエラーが出たのか質問からは想像出来ません。

yamitsu
質問者

お礼

gould09さんアドバイスありがとうございました。結局 他の方からのアドバイスでサービスパックを新しいもの にしないと解決しないということが判明しましたので、 サービスパック4を6にするようにしました。ありがとう ございました。

関連するQ&A

  • マクロをVisualBasicに後エラー(同時に2000→2003に)

    ACCESS2000から2003にバージョンアップしました。 その際、マクロをすべてVisualBasicに変換しています。 VB変換後全く同じマクロなのですがAフォームではエラーがでず、Bフォームではエラーが出ます。 2000の時のマクロの内容:開く時のプロパティで、アクション:サイズ変更 縦0cm、横0cm(幅、高さはスペース) 変換された後のマクロ: Private Sub Form_Open(Cancel As Integer) On Error GoTo Form_Open_Err DoCmd.MoveSize 0, 0 Form_Open_Exit: Exit Sub Form_Open_Err: MsgBox Error$ Resume Form_Open_Exit End Sub *この、開く時のイベント プロシージャが全く同じものですが、Aフォームでは通り、Bフォームでは通りません。 *エラーメッセージ:「イベントプロパティに指定した式 開く時 でエラーが発生しました。プロシージャの宣言がイベントまたは プロシージャーの定義と一致していません」 ポップアップ、境界線スタイル等の画面のプロパティも同じだと思います。 どなたかご存知の方、よろしくお願いします。

  • アクセスのコマンドボタンについて

    アクセスについて教えて下さい。 コマンドボタンで、フォームのデータをワンクリックで開くように設定したいのですが、コマンドボタンウィザードを使って、 フォームの操作→フォームを開く→フォームを指定 という操作でボタンを作りました。 ですが、ボタンをクリックして操作しようとすると、 「イベントプロパティに指定した式 クリック時 でエラーが発生しました:名前が適切ではありません:(フォーム名)_Click   *マクロ名、ユーザー定義関数名、「イベントプロシージャ」以外の式が指定されています。   *関数、イベント、マクロの評価でエラーが発生しました。」 というメッセージが出てきて、フォームを開くことができませんでした。 ウィザードだけではフォームを開くボタンを作成することはできないのでしょうか? 何か対処があれば教えて下さい。 よろしくお願いいたします。

  • エクセルVBA イベントプロシージャに引数を渡せま

    お世話になります。 エクセル2003/XP 使用です。 イベントプロシージャに引数を渡せまるかどうか教えていただけますでしょうか? 下記のコード中の変数mysheetnameを ユーザーフォーム、→ CommandButton1のプロシージャに 引数として渡して行きたいのですが、 実行すると、一番最初のWorkbook_SheetBeforeRightClickの時点で、 コンパイルエラー:  プロシージャの宣言が、イベントまたはプロシージャの定義と一致していません。 とエラー表示されます。 イベントプロシージャに引数を渡すことはできますでしょうか? ---------- ThisWorkBook内 ---------- Public mysheetname As String Private Sub Workbook_SheetBeforeRightClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean) mysheetname = ActiveSheet.Name UserForm1.Show (mysheetname)     '←変数mysheetnameの値をユーザーフォームに渡したい。 End Sub ---------- ユーザーフォーム ---------- Private Sub UserForm_Initialize(ByVal mysheetname As String ) 処理 End Sub Private Sub CommandButton1_Click(ByVal mysheetname As String ) 処理 End Sub ’--------- ここまで 引数について少し理解し始めたばかりの者です。 よろしくお願いします。

  • イミディエイトウインドウでイベントプロシージャーを

    イミディエイトウインドウでイベントプロシージャーを実行させる方法は? 標準モジュールのサブプロシージャなら イミディエイトウインドウで 「test1」+エンターでコードが実行されますが フォームのイベントプロシージャーを同じように 「リスト0_AfterUpdate」+エンター すると、コンパイルエラーになります。 イミディエイトウインドウでイベントプロシージャーを実行する方法を教えてください

  • [Access]あるフォームのクラスモジュールで値を入れた変数を他のフォームでそのまま利用したい

    モジュールとクラスモジュール(イベントプロシージャ)に違いがあることや、モジュールを超えて変数を利用したいときは、Publicで宣言する、という辺りを本を読んでおおまかに理解しました。 帳票管理フォームというフォームに受付CDという主キーの番号があります。そのフォーム上に帳票の詳細な事項を入力するフォームを呼び出すボタンがあります。フォームのイベントプロシージャの一番上のOption Compare Database,Option Explicitの直下行にPublic UketukeCD as Integerと宣言し、 ボタンのイベントプロシージャで、 UketukeCD = Me![受付CD].Value などと記述しました。 新規入力データの受付CDが例えば452ならUketukeCDには452が代入されればいいんです。 帳票の詳細な事項を入力するフォーム(報告書フォームとします)の「読みこみ時」のイベントプロシージャに以下のように記述しました。 こちらのモジュールの一番上にもPublic UketukeCD as Integerと宣言し、(←これは必要なんでしょうか?) Me![受付CD].Value = UketukeCDと書きました。 過去のデータを検索するときはレコードソースのテーブルの受付CDのデータを受付CDフィールドに持ってき、新規入力の場合は、受付CDは帳票管理フォームのものを代入するという設計で、UketukeCDの値(例:452)を報告書フォーム内の受付CDフィールド内に出力する、という感じですが、なぜかUketukeCDにはいつも0が代入されています。 変数は他のモジュールで利用できても代入された値までは移行されないのですか? イベントプロシージャだからできないんですか? 字数の制限上、コードをかなり省略しています。 足りない部分は補足で補いますのでおっしゃって下さい。

  • 複数のフォーム間での変数宣言

    VB6.0についての質問です。ひとつのプロジェクトの中に複数のフォームがあるとします。この中のある一つのフォームで変数 NUM を宣言し、何かの計算値を入れます。このNUMを値は保持したまま、他のフォームで利用することはできるのでしょうか? とりあえず全てのフォームのコードの先頭(プロシージャの外、Option Explicit下)に「Public NUM As Single」と宣言して挑戦してみたのですが、駄目でした。。よろしくお願いします。

  • 【Excell VBA】ユーザーフォーム上のスプレッドシートのセルを選択したときのイベント

    Excell VBA にて、 ユーザーフォーム(userForm1)に、スプレッドシートを 1)その他のコントロール 2)Microsoft Spreadsheetを追加 によって追加して、 そのspreadSheet1上のsheet1の任意のセル(D:*)をクリックしたとき、その行のD1:D5k一連の値を変数に代入したいのですが、 まず手始めとして、そのセルを選択したときにイベントを発生させたい。  該当のセルを選択してプロシージャを追加すると Private Sub Spreadsheet1_BeforeContextMenu( _ ByVal x As Long, _ ByVal y As Long, _ ByVal Menu As OWC11.ByRef, _ ByVal Cancel As OWC11.ByRef _ ) となります。 比較のため Private Sub Spreadsheet1_SelectionChange(ByVal Target As Range)   If Target.Address() = "$A$1" Then     MsgBox "このセルはA1です。"   End If End Sub だと、 Error・・・「コンパイル エラー: プロシージャの宣言が、イベントまたはプロシージャの定義と一致していません。」 ・・・どうすればよいのでしょう。 最終的には、「その行のいくつかの値を変数に代入したい」のですが

  • ACCESS2000 フォームからデータのインポートを起動するには

    お世話になります。 フォーム内にコマンドボタンを配置し、そのボタンをクリックしたら、ファイルからテーブルへデータのインポートを起動するようにしたいのですが、イベントプロシージャで、どのように記述すればよいでしょうか。 あるいは、そんなことはできないのでしょうか。

  • DataObjectの使用

    ワードのVBでヘルプを見ながら Dim MyDataObject As DataObject を宣言しましたが、コンパイルすると「ユーザー定義型は定義されていません」とエラーになります。どこが間違っているのでしょうか?

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

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