カテゴリー
SugiBlog Webエンジニアのためのお役立ちTips

リンクテーブルの更新(DAO)

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
10,133 views

ApplyFilter

Filter機能では条件の複数指定ができないようなので、代わりにApplyFilterを使用

構文  expression.ApplyFilter(FilterName, WhereCondition)

設定項目 内容
expression DoCmdオブジェクト[省略不可]
FilterName フィルタ名またはクエリ名を文字列式で指定[省略可能]
WhereCondition SQL文のWHERE句を文字列式で指定[省略可能]

例)

'日付が2003年1月1日から2003年12月31日までのデータを抽出
DoCmd.ApplyFilter , "sales_date between #2003/01/01# and #2003/12/31#"

フィルターを解除
Me.FilterOn = False
4,385 views

色々な数値変換

[VB]

CInt(n)
CDbl(n)
CLng(n)

[JavaScript]

Number(n)
parseInt(n)
parseFloat(n)

[C#]

int.Parse(n)
Int16.Parse(n)
Int32.Parse(n)
Convert.ToInt32(n)

long.Parse(n)

float.Parse(n)
Convert.ToSingle(n)

double.Parse(n)
Convert.ToDouble(n)

[PHP]

intval(n)
floatval(n)
2,040 views

ByVal,ByRef

ByVal(値渡し)…引数の渡し切り
ByRef(参照渡し)…プロシージャ内で引数を元の値自体を変えることができる

1,871 views

レコードソース変更時の注意点 – ACCESS

単票などのフォームのレコードソースをコードで変更した場合、
変更後にフィルターをオンにするコードが必要になる。
そうしないと特定のレコードを表示させていた場合のフィルターが無効になる。

例)

Me.RecordSource = "○○○"
Me.FilterOn = True
6,207 views