レコードを追加する(単一レコードを追加)
レコードを追加する(単一レコードを追加)
構文:INSERT INTO target [(field1[, field2[, …]])] VALUES (value1[, value2[, …])
「field1 field2」は列名の事。([])は書かなくてもOKの意味「value1」が書き入れたい値 その行の全部の値を入れるならfield名の入力は省ける。
' 記述例
' まず「Qクエリ追加」というクエリを作っておく。
' T追加テーブルに列名AとBあり、それぞれにAAAとBBBを追加する場合
' Dim strSQLRaddT As String
' strSQLRaddT = "INSERT INTO T追加テーブル(A,B) VALUES('AAA', 'BBB');"
' ↑こう書いてもOK strSQLRaddT = "INSERT INTO T追加テーブル VALUES('AAA', 'BBB');"
' CurrentDb.QueryDefs("Qクエリ追加").SQL = strSQLRaddT
'' DoCmd.SetWarings False
' DoCmd.OpenQuery "Qクエリ追加"
'' DoCmd.SetWarnings True
INSERT INTO ステートメント (Microsoft Access SQL)
https://docs.microsoft.com/ja-jp/office/client-developer/access/desktop-database-reference/insert-into-statement-microsoft-access-sql
日付を編集する関数
構文 : DateAdd ( interval, number, date )
「interval」は年か月か日付から選ぶ。「number」が足す数。「date」が足される数。
' 記述例 2022年8月28日に365日を足す
'
'Dim date1 As Date
'date1 = #8/28/2022#
' MsgBox DateAdd("d", 365, date1)
' MsgBox DateAdd("m", 12, date1)
' MsgBox DateAdd("yyyy", 1, date1)
DateAdd 関数
https://support.microsoft.com/ja-jp/office/dateadd-%E9%96%A2%E6%95%B0-63befdf6-1ffa-4357-9424-61e8c57afc19
ユーザー入力から値を獲得する
構文:InputBox(prompt, [ title ], [ default ], [ xpos ], [ ypos ], [ helpfile, context ])
「prompt」はメッセージ。「title」は見出し, 「default」は初期値。あとは場所とかヘルプファイルとか…。
'記述例
'Dim 文字列だ As String
' 文字列だ = InputBox("文字を入れて下さい。数字でなく…", "文字を入力", "初期値")
' MsgBox 文字列だ
InputBox 関数
https://docs.microsoft.com/ja-jp/office/vba/language/reference/user-interface-help/inputbox-function
Excelファイルへ出力
構文 expression.TransferSpreadsheet (TransferType, SpreadsheetType, TableName, FileName, HasFieldNames, Range, UseOA)
expression: DoCmd オブジェクトを表す変数。「TransferType」でacExportを選ぶ。インポートの場合はacImport。「SpreadsheetType」は省略すると最新のxlsx形式になる。「TableName」は出力したい表を選ぶ。「FileName」でパスを全部書く。「HasFieldNames」をTrueにすると1行目をフィールド名にする。
''記述例
''テーブル名「T_テスト」を出力する方法。あらかじめC直下にtestフォルダを作っておくことが必要。
'DoCmd.OpenTable "T_テスト", , acReadOnly
'DoCmd.TransferSpreadsheet acExport, , "T_テスト", "C:\test\test.xlsx"
DoCmd.TransferSpreadsheet メソッド (Access)
https://docs.microsoft.com/ja-jp/office/vba/api/access.docmd.transferspreadsheet