- 締切済み
アクセス2000で在庫管理ファイルを作っているのですが・・・
メニュー画面を作って [発注入庫]・[出庫]のコマンドボタンを作り そのコマンドボタンから[フォーム発注入庫]・[フォーム出庫]を表示します (↑オートNOフィールドのある一つのテーブルを基に作りました) それぞれには明細テーブルのデータがサブフォームで埋め込んであります 1)レコードを移動する時にレコードバーではなく [フォーム発注入庫]に作ったテキストボックスに オートNOフィールドで取った番号を入力して Enterキーを押すと [フォーム発注入庫]の中で表示する様にしたいのですが、 上手くいきません・どうしたら良いのでしょうか? 2)[フォーム発注入庫]に表示するのは 明細データの発注個数があるレコードのみ [フォーム出庫]に表示するのは 明細データに出庫個数があるレコードのみ でも、それぞれのフォームから 基にした一つのテーブルの 新規レコード番号(オートNOフィールド)が取れる!!様にしたいのです 在庫確認や棚卸は出来るのですが、フォームの操作が今ひとつです。 いつまでも「調整中」で置いておくわけにもいかず ギブアップです。 考えているうちに訳がわからなくなって来た・というのも原因なので 質問内容も伝わるかどうか、不安です。 素人なので、簡単に説明していただけると助かるのですが どうかよろしくお願いします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- maruru01
- ベストアンサー率51% (1179/2272)
とりあえず、1)だけですが。 オートNOを入力するテキストボックスを[txtAutoNo]として、 大元のテーブル名を[発注]、オートNOフィールド名を[オートNO]とします。 「Enterを押すと」は、フォーカスを失ったらということにします、とりあえず。 なので、[txtAutoNo][Enterキー入力時動作]プロパティは[規定]にしておいて下さい。 Private Sub txtAutoNo_LostFocus() Dim tempNo As Long Dim rs As Recordset tempNo = CLng(Me.txtAutoNo.text) If DCount("[オートNO]", "[発注]", "[発注].[オートNO] = " & tempNo) = 0 Then Msgbox "データがありません。", vbCritical Exit Sub Else Set rs = Me.Recordset.Clone rs.FindFirst "オートNO = " & tempNo Me.Bookmark = rs.Bookmark rs.Close Set rs = Nothing End if End Sub
補足
Private Sub txtautono_LostFocus() Dim tempNo As Long Dim rs As Recordset tempNo = CLng(Me.txtautono.Text) If DCount("[部品伝票NO]", "[T-部品伝票NO]", "[T-部品伝票NO].[部品伝票NO]=" & tempNo) = 0 Then MsgBox "データがありません。", vbCritical Exit Sub Else Set rs = Me.Recordset.Clone rs.FindFirst "部品伝票NO = " & tempNo Me.Bookmark = rs.Bookmark rs.Close Set rs = Nothing End If End Sub という風に、テーブル名とフィールド名を変更したのですが コンパイルエラー メソッドまたはデータメンバが見つかりません というエラーが出て固まってしまいます 何が足らないのでしょうか?