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

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

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

例) 

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

テキスト型とメモ型 ACCESS

ACCESSからSQLServerに移行する際、テキスト型とメモ型について調査しました。

Microsoftサポートサイトより引用

テキストまたはテキストと数値の組み合わせによるデータを格納する場合は、テキスト型とメモ型の 2 種類のフィールドのデータ型 (フィールドのデータ型 : どのようなデータを格納できるかを決めるフィールドの特性。たとえば、テキスト型のフィールドには、テキストまたは数値で構成されるデータを格納できますが、数値型のフィールドには、数値データしか格納できません。)を使用できます。

テキスト型フィールドは、名前、住所などのデータ、および電話番号、パート番号、郵便番号などの計算する必要のない数字データを格納するために使用します。このフィールドには 255 文字までのデータを格納できますが、既定のフィールド サイズは 50 文字に設定されています。テキスト型フィールドに入力できる最大文字数は、”FieldSize/フィールドサイズ” プロパティで設定します。

メモ型フィールドは、255 文字を超えるデータを格納する場合に使用します。このフィールドには 65,536 文字までのデータを格納できます。書式が設定されたテキストや長い文書を格納する場合は、メモ型フィールドではなく OLE オブジェクト型フィールドを作成します。

テキスト型とメモ型のフィールドには、入力した文字だけが格納されます。通常以外の位置にあるスペースは格納されません。

テキスト型またはメモ型のフィールドでは、値を並べ替えたりグループ化したりできます。ただし、メモ型フィールドについては、最初の 255 文字だけを使用して、並べ替えまたはグループ化が行われます。


[2017.03.28追記]
ACCESSからSQLServerに移行した場合、メモ型フィールドはnvarchar(MAX)で対応することになるかと思いますが、そうするとデータの編集ができなくなるようなのでご注意ください。

29,235 views

マスターブラウザー

ネットワークが利用できなくなった時

コマンドプロンプトを起動。
net view コマンドを実行し、ドメインまたはワークグループからブラウズリストを取得します。
取得したコンピュータ名のリストを使って、nbtstat -a <コンピュータ名> コマンドを実行します。
結果に ..__MSBROWSE__.<00> が含まれるコンピュータがマスターブラウザです。
マスターブラウザを見つけたらそれを再起動します。
すると別のPCがマスターブラウザになることによって現象が改善されるようです。

参考URL:
http://homepage2.nifty.com/winfaq/c/network.html#1094
http://pasokoma.jp/bbsa/lg301108.html

2,851 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) &gt; 0 Then
    MsgBox ErrName &amp; "のテーブルは更新できませんでした。"
  Else
    MsgBox "終了しました。", , "確認"
  End If
End If

Exit Sub

Err_リンク更新:
  ErrName = ErrName &amp; " " &amp; TableName
  Resume Next

End Sub
10,112 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