
No.1ベストアンサー
- 回答日時:
マクロを作れるなら、
そのマクロをVBAに変換してみたらいかが?
ツール→マクロ→マクロをVisualBasicに変換
だったかな。
その方が勉強になると思いますよ。
私なら?
Docmd.GotoRecord , , acNewRec
で、新規データに飛ばしますかね。
ありがとうございます。
>ツール→マクロ→マクロをVisualBasicに変換
それも考えたのですが・・・
アクセスは久しぶりなので、マクロのやり方があやふやです。
同じ一からやるなら、VBAの方がいいかな~と思っています。
>Docmd.GotoRecord , , acNewRec
やってみたのですが、「指定したレコードに移動できません」と出ます。
もしかして・・・
フォームを開いたときに、何もない状態にしたいので、フォームのプロパティの「データ入力用」を「はい」にしています。
これが原因でしょうか?
でも、いいえにすると、全データが表示されるし。
何かいい方法は無いでしょうか?
No.5
- 回答日時:
No2 です。
> とりあえず、Me.Undoをいれてみました。
> すると、「Meキーワードの使用方法が不正です。」と怒られてしまいました。
処理は、標準モジュールに書かれている、ということですね。
「Me 」 がフォーム やレポート の クラスモジュールに書かれている場合は
自分自身のフォーム(レポート)を表します。
いろんな書き方がありますが
Forms("フォーム名").Undo
Screen.ActiveForm.Undo
とか。
後者は、ポップアップウィンドウでは NG です。
ありがとうございます。
エラーはでなくなりました。
しかし、入力するデータが正しくないので、テーブルに入れていないのでUNDOをしても意味が無いようです。
なんとなく、refreshをしてみました。(野生の感なので根拠はありません)
これもだめでした。
改めて、フォームを開いたときの状態にしたいのですが・・・
どうすればいいのでしょうか?
No.3
- 回答日時:
1です。
なるほど、入力用フォームなんですね。
入力中のレコードを「削除する」文です。
一応、フォームは空になってくれます。
Private Sub ボタン_Click()
On Error GoTo Err_ボタン_Click
'警告メッセージ非表示
Docmd.SetWarnings False
'入力中のレコードを選択して
DoCmd.DoMenuItem acFormBar, acEditMenu, acSelectRecord, , acMenuVer70
'削除します。
DoCmd.DoMenuItem acformber, acEditMenu, acDelete, , acMenuVer70
'修了処理
Exit_ボタン_Click:
'警告メッセージ表示
Docmd.SetWarnings True
Exit Sub
'エラー処理
Err_ボタン_Click:
MsgBox Err.Description
Resume Exit_ボタン_Click
End Sub
ちょっと強引ですが、こんな感じですか。
ありがとうざいます。
書いていただいたコードですが、私が知らない内容が多数あるので、また試していません。
一個一個調べてから試そうと思います。
それより、質問する時に、「ある処理」と推理小説の犯人を隠すような書き方をしたので、質問内容がわかりにくくなっているようなので、改めて今回したい内容を書きます。
まず、データをコピーします。
↓
それを、クリップボードから変数に入れます。(ボタンがありクリックすると変数にいれる処理をします)
↓
それを正規表現で、必要なデータを抜き出します。
↓
それをテーブルに入力します。
と言う流れです。
なぜ、入力用のフォームか?
フォームを開くと、今まで入力したデータすべてが表示されます。
私としては、クリップボードから入力したデータだけ表示させたかったです。
そこで、入力用にすると、今まで入力したデータが表示されませんでした。
(今、考え付いたのですが、別のテーブルを作ってデータがOKの場合、既存のテーブルにデータを追加して、新規に追加したテーブルを削除すれば、問題ないような気がしますが、なるべく手間は減らしたいとおもっています。)
ボタンを押すと、クリップボードからデータを読み込むのですが、ボタンを押す前は、前回読み込んだデータの一覧が表示されています。
読み込んだときに、読み込んだデータが正しくない場合、注意のダイアログを出して、OKボタンを押すと、前回入力したデータが表示されているのを消して、何もない状態にしたいと思っています。
ついでに、sql serverにデータを入れたいので ADOの使用を考えています。
これが今回したい内容です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
レコードを保存するコード ア...
-
フィルタ後のフォームの件数の...
-
アクセス:フォーム入力で、最...
-
ACCESS起動時に所定フォームを...
-
Accessのサブフォームで、次の...
-
Access レコード移動時イベント...
-
Access レポート印刷するときに...
-
アクセスでテキストボックスの...
-
サブフォームに対してGoToRecor...
-
ACCESS フォームをそのまま印刷...
-
ACCESS フォームで、ボタンの...
-
「フォームを作成できませんで...
-
Excel ユーザーフォーム呼び出...
-
iphoneのフルスクリーンの解除方法
-
Accessのフォームで、画面表示...
-
YahooのIDがロックされてしまい...
-
Accessでフィールド名を変数(...
-
Word縦書きで左から右への行
-
エクセルVBA オプションボタ...
-
MS Access 印刷時に、印刷レコ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
レコードを保存するコード ア...
-
アクセスでフォームビューがみ...
-
新規レコード行を非表示にしたい
-
レコード削除時に(サブ)フォー...
-
フィルタ後のフォームの件数の...
-
アクセス:フォーム入力で、最...
-
アクセスの自動保存解除はでき...
-
ACCESSフォームのリストボック...
-
AccessVBA RecordSourceのリセ...
-
レコードをダブルクリックする...
-
Access 「このレコードを保存す...
-
Access:フォームプロパティ「...
-
ACCESSでフォームを使って、テ...
-
Accessでフォーム上に 直前の...
-
ACCESS起動時に所定フォームを...
-
アクセス データの競合を非表...
-
Access サブフォームにフィルタ...
-
Accessでレコードの保存をせず...
-
Accessで上の行を自動でコピー...
-
Access レコード移動時イベント...
おすすめ情報