Yahoo!ショッピング

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

2019年12月10日

ACCESS 外部データの取り込みで表示されるSharePointサイトを削除

以下のレジストリに保存されているので削除すればOK
[HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Common\Recent Sharepoint Sites]
posted by 秘構竜 at 21:50 | Comment(0) | Office365

2019年12月09日

ACCESS データベースのプロパティをVBAで確認する方法

public function GetProperties()
On error resume next
dim dbs As database
dim i As integer
set dbs = CurrentDb
with dbs
for i = 0 to dbs.Properties.Count - 1
debug.print i & ":" & dbs.Properties(i).Name
debug.print " - " & dbs.Properties(i).Value
next
end with
end function


(例)データベースプロパティの変更
キャッシュを削除する
public function setClearCacheOn()
Dim dbs As Database
If MsgBox("キャッシュをクリアします。ACCESSを再起動してください。", vbOKCancel, "キャッシュクリア") = vbOK Then
Set dbs = CurrentDb
dbs.Properties("Clear Cache on Close").Value = "1"
Set dbs = Nothing
Application.Quit
End If
end function


キャッシュを削除しない
public function setClearCacheOff()
Dim dbs As Database
Dim prp As Property
Set dbs = CurrentDb
dbs.Properties("Clear Cache on Close").Value = "0"
Set dbs = Nothing
end function
Access VBA
posted by 秘構竜 at 21:48 | Comment(0) | Office365

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