カテゴリー
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,288 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,486 views

環境変数(Environ)

VisualBasicでWindowsの環境変数を利用する方法をご紹介します。

例)Explorerなどを起動する

Call Shell("explorer")

実行ファイル名(拡張子を除く)のみでOK。パスは環境変数Pathから取得してくれます。

その他の環境変数の取得

書式

Environ("環境変数名")

Windowsディレクトリ
※WindowsディレクトリはOSによって「windows」や「winnt」などと違いがあるので注意

Environ("windir")

ユーザーディレクトリ

Environ("userprofile") 'C:\Documents and Settings\Administrator

ProgramFilesのパス

Environ("ProgramFiles") 'C:\Program Files

CommonProgramFilesのパス

Environ("CommonProgramFiles") 'C:\Program Files\Common Files

Application Dataディレクトリのパス

Environ("appdata") 'C:\Documents and Settings\Administrator\Application Data

環境変数名はマイコンピュータのプロパティからも調べられますが、
コマンドプロンプトで「set」コマンドを引数なしで実行するほうが早いです。

「set」コマンドを実行すると、環境変数とその値が出力されます。

3,916 views

DNSキャッシュのクリア

コマンドプロンプトで

c:\> ipconfig /flushdns

を実行

Windows IP Configuration

Successfully flushed the DNS Resolver Cache.

と表示されればOK

2,525 views

要素数の初期化なしに配列を生成(Listクラス)

予め要素数が決まっている場合は始めから配列を使用しますが、
可変の要素数の場合は、Listクラス(コレクション)を使用します。

using System.Collections.Generic;

// 型を指定して宣言
List<int> list = new List<int>();

// Addメソッドで値を追加
list.Add(0);

// ToArrayメソッドで配列化
int[] f = list.ToArray();
1,746 views