LoginSignup
1
2

More than 3 years have passed since last update.

Access VBA ヒント集

Last updated at Posted at 2016-07-15

▼入力時にチェックする

input_check.vba

Private Function fsInputCheck() As Boolean
  Dim wCtr     As String
  Dim wメモ    As String
  Dim wNo      As Integer
  Dim wMSG     As String

  fsInputCheck = False
  sIDCard = Nz(Me.IDコード.Value, 0)
  sメモ = Nz(Me.txtメモ.Value, "")
  sCHK(0) = Nz(Me.chk000.Value, 0)

  For wNo = 1 To 100
    wCtr = "ctrFL" & Format(wNo, "000")
    If Me.Controls(wCtr).Visible = True Then
      Select Case wNo
        'Case 15: sFLD(wNO) = Nz(Me.Controls(wCtr).Value, "0")
        Case Else: sFLD(wNo) = Nz(Me.Controls(wCtr).Value, "")
      End Select
    End If
  Next wNo

  '--- Check ---
  'If IsDate(s返送日) = False Then
  '  wMSG = wMSG & "返送日が不正です。" & vbCrLf
  'End If

  If wMSG <> "" Then
    MsgBox wMSG, vbOKOnly + vbExclamation, "確認"
    Exit Function
  End If

  '--- 新規 ---
  If gmEdit2 = 3 Then
    If fsCodeCheck(2) = False Then Exit Function
  End If

  fsInputCheck = True
End Function

▼終了時に他のフォームを閉じる

Form_Unload.vba

Private Sub Form_Unload(Cancel As Integer)
  If gmEdit2 > 1 Then
    subMsg = MsgBox("編集中は、終了できません。強制終了しますか。", vbYesNo + vbCritical + vbDefaultButton2, "確認")
    If subMsg = vbYes Then
      gmEdit2 = 1
    Else
      Cancel = 1
      Exit Sub
    End If
  End If

  '一覧
  If SysCmd(acSysCmdGetObjectState, acForm, "F_BmCard02List") <> 0 And gWin = 0 Then
    gWin = 1
    If gFrmClose = 0 Then
      DoCmd.Close acForm, "F_BmCard02List"
    End If
  End If
End Sub

▼SQL データベース接続

DAO_Connect.vba
Set Db = DBEngine.OpenDatabase("", False, False, "ODBC;Driver={SQL Server};" & _
                         "Server=XXXX;" & _
                         "Database=XXX;UID=XXX;PWD=XXX;")

▼コンボボックスにリストの既定値をセットする。

=[コンボ1].[ItemData](0)
=[コンボ1].[ItemData]([コンボ1].[ListCount]-1)
1
2
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2