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(参照渡し)…プロシージャ内で引数を元の値自体を変えることができる