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

DLookup

[書式]

DLookup("抽出したいフィールド名", "テーブル名", "フィールド名 = 検索値")
DLookup("抽出したいフィールド名", "テーブル名", "フィールド名 = '検索文字列'")
2,408 views

配列変数を再定義するとき

後で要素数を変更したい配列を定義するとき

Dim Str() as String

要素数を変更し再定義

ReDim Str([n]) as String

※最初に要素数を指定し、宣言した場合はReDimを使っての再定義ができません。

配列の内容を残したまま、要素数を増やしたい場合は

ReDim Preserve Str([n]) as String

と再定義します。

3,712 views

ハイパーリンクのアドレスを取得

Cells(RowIndex, ColumnIndex).Hyperlinks.Item(1).Address

例) 

Cells(1, 2).Value = Cells(1, 1).Hyperlinks.Item(1).Address
7,452 views

リンクテーブルの更新(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,113 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,379 views