Dim dbs As Database Dim rst As Recordset Dim strCriteria As String Set dbs = CurrentDb Set rst = dbs.OpenRecordset("住所テーブル", _ dbOpenDynaset) With rst strCriteria = "住所 Like '東京*'" .FindFirst strCriteria Do Until .NoMatch Debug.Print !ID, !氏名, !住所, !郵便番号 .FindNext strCriteria Loop .Close End With
テーブルにリレーションシップを組んであるため、
削除クエリでレコードを削除できない場合の解決法
クエリのプロパティで、固有のレコード(UniqueRecords)を「はい」にする
Private Sub リンク更新_Click() On Error GoTo Err_リンク更新 If MsgBox("リンクテーブルを更新します。よろしいですか?", vbYesNo + vbExclamation + vbDefaultButton2, "更新") = vbYes Then Dim db As Database, tdfLinked As TableDef Dim TableName As String, ErrName As String Set db = CurrentDb ErrName = "" TableName = "table1" 'テーブル名を指定する Set tdfLinked = db.TableDefs(TableName) tdfLinked.Connect = ";DATABASEdb1.mdb" tdfLinked.RefreshLink Set db = Nothing If Len(ErrName) > 0 Then MsgBox ErrName & "のテーブルは更新できませんでした。" Else MsgBox "終了しました。", , "確認" End If End If Exit Sub Err_リンク更新: ErrName = ErrName & " " & TableName Resume Next End Sub
ByVal(値渡し)…引数の渡し切り
ByRef(参照渡し)…プロシージャ内で引数を元の値自体を変えることができる