- ベストアンサー
Access2000/2002フォームのレコードセットについて
- Access2002で作り直す必要があるAccess97のプログラムのVBAコーディングをADOに変更する方法
- Access2000/2002フォームのレコードセットを取り扱う方法についての一般的なルールやアドバイス
- Access2000/2002フォームのRecordSetがDAOなのかADOなのかについての情報が分からない
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
その他の回答 (1)
- imogasi
- ベストアンサー率27% (4737/17068)
関連するQ&A
- レコードセットについて
Public rs1 As DAO.Recordset Public rs2 As ADODB.Recordset Public rs3 As Recordset 最近ADOを勉強し始めた物です。 この3つのASの後ろの部分は何が違うのでしょうか? 上からDAO用、ADO用まではなんとなくわかるのですが一番下は何用でしょうか? よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- Access レコードの移動
ADP形式(Access2003)で社内システムを作っています。 質問なのですが・・・ 帳票形式のフォーム(商品マスタ)があります。フォームヘッダーにテキストボックス(名前:検索コード)あり、ここに商品コードを入力すると、該当するレコードへブックマークが移動します。 MDBのときは・・・ Dim ds As Recordset Set ds = RecordsetClone ds.FindFirst "[商品コード]='" & Me![検索コード] & "'" Bookmark = ds.Bookmark 以下省略 これで動作したのですが、ADPではエラーになります。 ADOになっているからでしょうか?
- ベストアンサー
- オフィス系ソフト
- アクセスでコードを使って日付からレコードの検索ができません。
Dim rs As DAO.Recordset Set rs = Me.RecordsetClone rs.FindFirst "生年月日 = #1968/05/03#" 上の場合は問題ないのですが、次の様に、捜そうとする日付を変数にするとどうしても rs.NoMatch = true になってしまいます。 どうしてでしょうか。アクセスは2002、OSは2000です。 Dim Abc As Date Abc = "1968/05/03" rs.FindFirst "生年月日 = " & Abc
- ベストアンサー
- オフィス系ソフト
- フォームで1レコード削除したのに表示は残ったまま更新されない
Accessフォーム(表形式)に[削除]ボタンをつけました。 VBAで削除ボタン_Click()を書きました。 ADO接続 SQL発行し、該当レコード削除 (Delete from 予約 where 予約ID= me.予約ID ) というコードです。 削除後も、フォームにはレコードが見えたままなのですが、表示を更新するにはどうしたら良いのでしょうか? ----------------------------------- Set rs = Me.Recordset.Clone '' 予約テーブルからレコード削除処理 ... Me.Requery ----------------------------------- というやり方は、DAOだそうですね。 ADOではフォームのレコードソースを指定できないと参考書にありました。 しかし、DAOでは Delete SQL 発行の仕方がわからないので、できればADOで実現したいのです。 無理でしょうか?
- ベストアンサー
- その他(データベース)
- 空欄を含む項目のレコードセット
Access 2003 DAO.Recordsetにてデータを取得しようと思うのですが テーブル項目に空欄がある場合はどのように書けばよろしいのでしょうか? Dim DB As DAO.Database Dim RS As DAO.Recordset Set DB = CurrentDb Set RS = daoDB.OpenRecordset("Aテーブル", dbOpenDynaset) RS.AddNew daoRS!ああ ああ = xx RS!Update ・・・ とするとエラーになります。 項目名"ああ ああ"はどのように書けばいいのでしょうか? よろしくおねがいします。
- 締切済み
- オフィス系ソフト
- サブフォームのレコードセットをメインフォームで処理したい
[Access2003] サブフォームのレコードソースをメインフォームでレコードセットとして取得し、処理したいと思い、 Private Sub cmd選択_Click() Dim RS As New ADODB.Recordset Set RS = Me!F_Sub.Form.RecordsetClone End Sub とやってみたのですが、型が一致しません。"とエラーになります。 WEB上でのサンプルも上のコードでいけるような感じで説明がありましたが何が問題なのでしょうか?
- 締切済み
- その他(データベース)
- Access レコードを分割してフォームで表示
Access 2007です。 下記のような日記テーブルがあり、 その「行動」フィールドの中身を「●」の記号で レコードに分割して、 フォームに表示したいと思っています。 日記テーブル ID 年月日 天気 行動 1 2014/1/10 晴 ●読書。●新聞を読む。●散歩。 2 2014/1/11 曇 ●電車に乗る。●新年会。●庭の手入れ。●カラオケ。 3 2014/1/12 曇 ●昼寝。 4 2014/1/13 雨 ●買い物。●読書。 ・・・・ 結果フォーム(データシートビュー)で表示 年月日 行動 2014/1/10 読書。 2014/1/10 新聞を読む。 2014/1/10 散歩。 2014/1/11 電車に乗る。 2014/1/11 新年会。 2014/1/11 庭の手入れ。 2014/1/11 カラオケ。 2014/1/12 昼寝。 2014/1/13 買い物。 2014/1/13 読書。 もとの日記テーブルのデータは変更しません。 下記のように、VBAのコードの中で、 レコードセットを使えば、上記のようなレコードの分割ができると思うのですが、 うまくいきません。 rs2というレコードセットをどうやって作成すればいいのかわかりません。 (Set rs2 = DB.OpenRecordset ・・・ のような行が必要ではないか、と思うのですが、 そのやり方がわかりません。) やり方を教えていただけたら幸いです。 Dim DB As DAO.Database Set DB = CurrentDb() Dim rs1 As DAO.Recordset Dim rs2 As DAO.Recordset Set rs1 = DB.OpenRecordset("日記テーブル", dbOpenForwardOnly) Dim A As Variant Do Until rs1.EOF A = Split(rs1!行動, "●") For i = 1 to UBound(A) rs2.AddNew rs2!年月日 = rs1!年月日 rs2!行動 = rs1!A(i) rs2.Update Next i rs1.MoveNext Loop DoCmd.OpenForm "結果フォーム" Set Forms!結果フォーム.Recordset = rs2
- 締切済み
- その他MS Office製品
- レコードセットの結合
A.MDBからRS_Aというレコードセット、B.MDBからRS_Bというレコードセットを作成し、このふたつのレコードセットを一つにしたいと思います。 これは可能でしょうか? どのような方法を採ればよろしいでしょうか? とりあえずはDAOで予定しています。 よろしくお願いします。
- 締切済み
- オフィス系ソフト
- Access のADOのrecordset
Access VBA でのrecordset はDAOとADOがあります。 DAOの場合recordsetからrecordsetを作成できました。 つまり、日本からある県を選び出し、その中から10代の人を選び出せました。 ところが、ADOの場合それができません。ある県の10代の人を選び出そうとしても、 結果的に全日本の10代の人となってしまいます。 例として RD1.Filter = "購入日># " & DateAdd("yyyy", -1, Date) & "#" Set RD2 = RD1.OpenRecordset この「RD2」という新しいrecordsetができます。 RD2は購入日が今日から1年前の1つのファイルとしてsetされます。 この中から山田さんの売り上げを集計することができます。 ところが、ADOの場合下記のように書いて、 str = RS!ブランド RS.Filter = ("ブランド = " & "'" & str & "'") RS.MoveFirst str = RS!名前 RS.Filter = ("名前 = " & "'" & str & "'") 上はある雑貨店のDBですが、あるブランドを抽出します。次にその中から、ある顧客の売り上げを集計する場合、結局全ブランドの”田中さん”になってしまいます。 要は、最初にブランドで抽出した意味がないのです、 ADOでDAOのようにrecordsetからrecordsetを作る方法はないのでしょうか? ADOの書き換えるのはMSのQSLserverがDAOの対応してないからです。
- 締切済み
- その他(データベース)
- マイクロソフトアクセスでDATAを1件毎に読む
モジュールで書かなければいけないのは、分かります。サンプルコーディングをお願い出来ないでしょうか。 また、DAOかADOなのか分かりませんがADDonはどうするのでしょうか 古くて申し訳ないのですがAccess 2002です。 何卒お願いします。
- ベストアンサー
- Visual Basic