100<[X]<=150  であれば C Access97の更新クエリーのformat$関数をAccess2000タイプに直したいのですが, Access2013VBA 複数のテーブルからリストボックスの値集合ソースをVBAで取得する. ありがとうございます。, ご回答いただきありがとうございます。 レコード数のコントロールソースを Dim qd as QueryDefs また、フォーム1にコードを記述する場合であれば Loop 正しく認識させるためには、等号・不等号を挟んだ式は、「左辺」と「右辺」の よろしくお願いします。, No1 です。 第2、第3引数の、質問の順序にあわせるとこうなる。, ACCESS VBAを使ってプログラムを組んでいるVBA初心者です。ヘルプやいろんなHPを参考にしているのですが、どうしてもわからないことがあるのでおしえてください。 フォームの書式設定で「移動ボタン」の表示をすれば目的の事は出来るのですが、表示の大きさが調整できない為、とても見難いのです。 Repaintは、VBAでキャプションなどを変更したとき使っています。 DAOのレコードセットは確かに最後まで移動させないと総レコード数が出ない場合がありますね。 Me.埋め込みフォーム.Requery Set db = CurrentDb() それで、DoCmd.Requery を最初の行に入れてみたら、元の一覧表は最初のレコードに飛んでしまう。 (「Forms」と「Form」がありますのでご注意下さい) 以上よろしくお願いします。, レコード番号のコントロールソースを  IIF関数は二択ですので入れ子にする必要がありますが、Accessのクエリで  IIF関数の第2引数または第3引数に、IIF関数を入れ子とする必要があります。 Access2003のVBAで次のような構文を用いてクエリーの該当レコード数を取得したいのですがうまく出来ません。 お客様の許可なしに外部サービスに投稿することはございませんのでご安心ください。. 今回の場合には  (詳しくは、Accessのヘルプを参照下さい) b)別の組込関数を使用する場合: On Error GoTo ERRORRR 構文又は手法が間違っているのでしょうか。  これであれば、入れ子にする必要がなくなります。 OpenRecordsetの方は次のようにした所、「実行エラー'3061'パラメータが少なすぎます。1を指定して下さい」と出てしまいました。 [終了日] の抽出条件が書かれています。) Dim cnt As Long Form_formA 惜しいですね! Debug.Print rs!ID Dim rs as Recordset ちなみに明日は返答できないのであしからず。。。 又、”該当顧客リストクエリ”では特定の抽出条件を設定して、”顧客リストテーブル”の一部を抽出するようにしています。, 「構文 VBA」に関するQ&A: Excel VBA 構文エラーについて教えてください。, ご回答いただきありがとうございます。 Debug.Print rs!開通年月日 構文が違うのでしょうか。, 「構文 VBA」に関するQ&A: エクセルVBAのIf,Then 構文でOr条件とAnd条件の結合方法?, 世の中の成功している男性には様々な共通点がありますが、実はそんな夫を影で支える妻にも共通点があります。今回は、内助の功で夫を輝かせたいと願う3人の女性たちが集まり、その具体策についての座談会を開催しました。, Requeryはもう一度ソースレコード(テーブル)を読み込むようです。このとき、テーブルの先頭レコードに移動してしまいます。 Set db = CurrentDb()  使用できる、似た機能の関数に、Switch関数というものもあります。 =Count("*")-[NewRecord] Access初心者です。 IIf(([試験番号]="空白の場合何を入れる?"),[試験番号],"欠席"), もうひとつの書き方は クエリの情報をフォームの日付から抽出し、csvファイルを作成するというものを作ろうとしています。 この場合、「[X]<=50」は、「真(=-1)」か「偽(=0)」か「Null」のいずれかに qd.Parameters("pr1")....続きを読む, SQLを使ってmdb内のレコードセットを取得し、 宜しくお願い致します。, フォーム名がフォーム1、サブフォームコントロールの名前がサブフォーム1だとすると、 これでいけると思います。, パラメータがあるクエリはパラメータをParametersで入れてあげないと開けません。 http://www.nurs.or.jp/~ppoy/access/access/acF007.html, 選択クエリにおいて、あるフィールド「 X」 のレコード数値が Me.埋め込みフォーム.Form.RecordSource = StrSQL  何卒よろしくお願いいたします。, a)IIF関数で対応する場合: パラメータを読み取れないのでRecordsetにクエリを渡せない状態でエラーが出ていると思います。 式: Switch([X]<=0, "", [X]<=50, "A", [X]<=100, "B", [X]<=150, "C", True, "") pr2 = Format(Forms("開通チェック")("終了日"), "yyyy/mm/dd") とすれば、フォームもコントロールも指定できるのですが、 Visual Basic Editor君が気を利かせて 文字通りレコードを保存します。 'レコードセット取得  この場合、Yのフィールド設定で指定する数式についてご教授願います。 もう少しですね クエリの抽出条件でフォームの日付の期間で抽出するようにしてあります。 追伸 使用しているACCESS Ver:ACCESS97, ACCESS VBAを使ってプログラムを組んでいるVBA初心者です。ヘルプやいろんなHPを参考にしているのですが、どうしてもわからないことがあるのでおしえてください。 式1: IIf([試験番号] Is Not Null,[試験番号],"欠席") qd.Parameters("pr2").Value = pr2  Forms(strFrm) また、以下の方法とは別の方法でクエリから抽出するやりかたがありましたら教えていただけませんでしょうか?よろしくお願いいたします。 サボフォームの下の方に現在選択されているレコード数が表示されてますが、その値でかまいません。 Me. さてさて、明日出張なので今日はたぶん最後のレスになってしまいますが、 DoCmd.RunSQL ではアクションクエリしか実行できないようだし、 Set qd = db.QueryDefs("開通チェック") Exit Function レコードセット as DAO.Recordset   0<[X]<=50   であれば A  OpenRecorssetはうまくいきました。 パラメータを読み取れないのでRecordsetにクエリを渡せない状態でエラーが出ていると思います。 何にせよ、「0<[X]<=50」全体として「正(=-1)」となることがないため、 db.Close: Set db = Nothing もしかすると"FormA"とか名前を付けたつもりでも VBAにてOpenRecordsetでクエリから情報を抽出しようとするのですがクエリがありませんとエラーをはかれてしまいます。クエリの指定方法がまちがっているのでしょうか? > Forms("サブフォーム").RecordSource = strSQL 重ねましてありがとうございます。, Access2003ではDAOを付けた方が良いのですね。 Debug.Print rs!登録状態 元の一覧表の位置を動かさないために、Ctrl+Enter キーを押して更新確定させたような状態をVBAで実現する方法あるのでしょうか? Dim rs As Recordset VBAにてOpenRecordsetでクエリから情報を抽出しようとするのですがクエリがありませんとエラーをはかれてしまいます。クエリの指定方法がまちがっているのでしょうか? 以外なので、「真(=-1)」という値が返された、ということです。 # 念じてま...続きを読む, アクセスで、一覧表のフォームにボタンを取りつけています。レコードの内容を変更したら、ペンの形のマークが現れますね。これは変更中ということですが、そこでボタンを押しても変更は確定されないから、更新確定させたいのです。 Me.CurrentRecord Me.埋め込みフォーム.Requery 調べてたらこんなのがでてきました。 EXCELでは空白を""で判定/識別表していますがACCESSではどうなるのでしょうか。 =[CurrentRecord] Dim db As Database Me!サブフォーム1.Form.CurrentRecord Public Function value()   としましたが、実行すると、Yの列がすべて「-1」と表記されてしまいます。 利用しているのであれば End Function ADODBでRecordset取得時にSQL文でレコードを絞り込むサンプルプロシージャ 「ID」「名前」「住所」というフィールドを持った、「tbl_住所録」というテーブルが存在するAccess上で、以下のプロシージャを実行すると、名前に「藤」という文字を含むレコードが、イミディエイトウィンドウに出力さ … 2つの要素からなる形にする必要があります。  Forms(strFrm)(strTxt) Requery に引きづられてしまいました (^_^;) Accessの関数などではこれだと正しい結果が得られません。 利用しているのであれば Access2003のVBAで次のような構文を用いてクエリーの該当レコード数を取得したいのですがうまく出来ません。構文又は手法が間違っているのでしょうか。Dim db As DatabaseDim rs As RecordsetDim cnt As Long Set db = CurrentDbSet r イメージは下記のような感じです。 [開始日] And [Forms]![開通チェック]! rs.MoveNext cnt = rs.RecordCount (「0<[X]<=50」の次が「80<[X]<120」などのように、「50~80」が欠けた MsgBox "エラーメッセージ"  Forms(strFrm).Controls(strTxt) --------   50<[X]<=100  であれば B   と表記させるフィールド「Y」を追加したいと考えています。  IIF関数の第2引数または第3引数に、IIF関数を入れ子とする必要があります。 qd.Parameters("pr1").Value = pr1 判定するにはどうすれば良いでしょうか? Set qd = db.QueryDefs("開通チェック") 詳しい方、よろしくお願いいたします。, たびたびすみません。 さてさて、明日出張なので今日はたぶん最後のレスになってしまいますが、 ちなみに明日は返答できないのであしからず。。。 End If, カレントレコード無は"レコードセット.RecordCount = 0" Set db = CurrentDb   ※OpenRecordsetの行で「実行時エラー'3219'無効な処理です」と出てしまいます。 msgbox Err.number & ":" & Err.description どんなときにどんなメソッドを使えばいいのでしょうか? Debug.Print rs.EOF フォーム「frm01」にテキストボックス「tb01」が作ってある場合、 DoCmsOpenQuery では引数に抽出条件を指定することが出来ないし困っています。, おつかれさま~(^_^)