Yahoo!ショッピング

2020年02月18日

VBA ファイルの存在を調べる(ネットワークドライブ編)

ネットワークドライブ上のファイル(\\で始まるパス)はDir関数では調べられない。
よってFileSystemObjectを使用する。

private sub Form_Load()
dim FSO As Object, Target As String
set FSO = CreateObject("Scripting.FileSystemObject")
target = "ファイルのフルパス"

if FSO.FileExists(Target) Then
Me.WindowsMediaPlayer.Visible = True
Me.イメージMT.Visible = False
else
Me.WindowsMediaPlayer.Visible = False
Me.イメージMT.Visible = True
end if
set FSO = Nothing
'スプラッシュ画面の表示時間
Me.TimerInterval = 2000
end sub
VBA
posted by 秘構竜 at 22:33 | Comment(0) | VBA

2020年02月17日

ACCESS テキストボックスに文字数制限をつける

ACCESSテキストボックス文字数制限をつける方法。
フォームのプロパティで以下の2つを利用してもできるのだが、動作がイマイチで使いづらい。
例えば、
1.入力規則
 BSで文字を全部削除したときとかも入力規則が反応してしまい、他のフィールドに移動することもできなくなることがある。

2.定型入力
 入力できる文字の種類や桁数を設定できるのは良いのだが、マウスでテキストボックスをクリックしたときに、カーソルがクリックをした位置(テキストボックスの真ん中辺りとか)に置かれてしまう。

よって、変更時のイベントプロシージャに以下のコードを仕込むのがベストだと分かった。
忘れないようにメモしておく。

rem "テキストボックスの入力を6桁までに制限する"
private sub テキストボックス_Change()
with me.activecontrol
if len(.Text) > 6 Then
msgbox "6桁以下にしてください", vbokonly + vbexclamation
.value = left(.text, 6)
.selstart = .sellength
end if
end with
end sub

posted by 秘構竜 at 20:52 | Comment(0) | VBA

2019年12月16日

ACCESS レコードが存在するときは更新、存在しないときは新規追加

ACCESSでレコードが存在するかどうか事前にチェックし、存在するときは更新を、存在しないときは新規で追加するプログラム。
存在チェックは今回はDAOを使った。
Sub CheckRecordExixt()
Dim dbs As DAO.Database
Dim rs As DAO.Recordset
Dim strsql As String
Dim txtID As Long
Set dbs = CurrentDb
strsql = "select * from テーブル1 where ID=" & txtID
Set rs = dbs.OpenRecordset(strsql, dbOpenDynaset)
If rs.EOF Then
'1件もないから新規登録
rs.AddNew
'処理
rs.Update
Else
'すでに存在しているから更新
rs.Edit
'処理
rs.Update
End If
rs.Close: Set rs = Nothing
dbs.Close: Set dbs = Nothing
End Sub
posted by 秘構竜 at 22:29 | Comment(0) | Office365

【温泉】ホテル・旅館ランキング(全国)
秘構竜の日記」の先頭へ