Yahoo!ショッピング

2020年03月03日

ACCESSのフォームでVBAで検索(Ctrl+F)する

ACCESSの帳票フォームで検索を実行する。フィルタではなく検索。
キーワードを入れるテキストボックス[txtFind]を設置。イベントログは以下。
Private Sub txtFind_KeyDown(KeyCode As Integer, Shift As Integer)
Select Case KeyCode
Case vbKeyReturn:
Me.cmdFind.SetFocus
Call cmdFind_Click
End Select
End Sub


検索ボタン[cmdFind]を設置。イベントログは以下。
Private Sub cmdFind_Click()
If IsNull(Me.txtFind) Or Me.txtFind = "" Then Exit Sub
Me.Recordset.FindFirst "[フィールド名] = '" & Me.txtFind & "'"
If Me.Recordset.NoMatch = True Then
MsgBox "見つかりませんでした。", vbokonly+vbExclamation
End If
End Sub

posted by 秘構竜 at 22:05 | Comment(0) | 技術系

2019年11月26日

動的にSQLを書き換える

自分用メモ
Function domainKensaku()
Dim strsql As String
Dim dda As Date, ddb As Date
dda = #1/1/2016#
Do While dda < #11/1/2019#
ddb = DateAdd("m", 1, dda) - 1
strsql = "select * from テーブル1 where 更新日 between #" & dda & "# and #" & ddb & "#"
Debug.Print strsql
dda = DateAdd("m", 1, dda)
Loop
End Function

posted by 秘構竜 at 23:01 | Comment(0) | 技術系

2019年11月05日

VBS でActiveDirectoryのユーザー情報を取得する

これを探していた。
ログオンアカウントをもとにADサーバに検索をかけたい。
すべてのクライアントPCにリモートサーバ管理ツールをインストールするのは非現実的だ。
コマンドプロンプトまたはVBSで検索し、情報を取得する方法を見つけた。
忘れないように貼り付けときます。
参照元Url:https://www.upken.jp/kb/kwDwOKCJXKgSAeckrkSMckTSFWgQJE.html
Option Explicit
Const SearchUser = "User1"
Dim baseDN, objRootDSE
Dim objConnection, objCommand, strCommandText
Dim objRecordSet, strUserDN
baseDN = ""

rem ベースDNの取得
On Error Resume Next
Set objRootDSE = GetObject("LDAP://rootDSE")
If Err.Number <> 0 Then
WScript.Echo "ドメイン接続に失敗しました。終了します。"
WScript.Quit
Else
baseDN = objRootDSE.Get("defaultNamingContext")
End If
On Error Goto 0

rem DCに接続して検索
Set objConnection = CreateObject("ADODB.Connection")
Set objCommand = CreateObject("ADODB.Command")
objConnection.Provider = "ADsDSOObject"
objConnection.Open "Active Directory Provider"
objCommand.ActiveConnection = objConnection
strCommandText = ";" & _
"(&(objectClass=user)(sAMAccountName=" & SearchUser & "));" & _
"distinguishedName;" & _
"subtree"
objCommand.CommandText = strCommandText
Set objRecordSet = objCommand.Execute

rem 検索結果を表示
If objRecordset.EOF Then
strUserDN = "ログオンアカウント " & SearchUser & " は見つかりませんでした。"
Else
strUserDN = objRecordset.Fields("distinguishedName")
End If
WScript.Echo strUserDN
objConnection.Close
Set objCommand = Nothing
posted by 秘構竜 at 23:12 | Comment(0) | 技術系

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