• 締切済み

アクセス2000で在庫管理ファイルを作っているのですが・・・

メニュー画面を作って [発注入庫]・[出庫]のコマンドボタンを作り そのコマンドボタンから[フォーム発注入庫]・[フォーム出庫]を表示します (↑オートNOフィールドのある一つのテーブルを基に作りました) それぞれには明細テーブルのデータがサブフォームで埋め込んであります 1)レコードを移動する時にレコードバーではなく  [フォーム発注入庫]に作ったテキストボックスに  オートNOフィールドで取った番号を入力して  Enterキーを押すと  [フォーム発注入庫]の中で表示する様にしたいのですが、  上手くいきません・どうしたら良いのでしょうか? 2)[フォーム発注入庫]に表示するのは  明細データの発注個数があるレコードのみ  [フォーム出庫]に表示するのは  明細データに出庫個数があるレコードのみ  でも、それぞれのフォームから  基にした一つのテーブルの  新規レコード番号(オートNOフィールド)が取れる!!様にしたいのです   在庫確認や棚卸は出来るのですが、フォームの操作が今ひとつです。 いつまでも「調整中」で置いておくわけにもいかず ギブアップです。 考えているうちに訳がわからなくなって来た・というのも原因なので 質問内容も伝わるかどうか、不安です。 素人なので、簡単に説明していただけると助かるのですが どうかよろしくお願いします。

みんなの回答

  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.1

とりあえず、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

koazarasi
質問者

補足

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 という風に、テーブル名とフィールド名を変更したのですが  コンパイルエラー  メソッドまたはデータメンバが見つかりません というエラーが出て固まってしまいます 何が足らないのでしょうか?