アクセス2000で、採用者のデータを管理しようと思っています。
フォームにボタンを作って、ボタンをクリックしたら条件を満たした者だけを表示する形にしたいのですが、「役職」(コード番号)と「所属」(コード番号)と「採用日」の3つを条件として、データの抽出を行いたいのですが、ボタンのコードビルダはどのようにしたら良いのでしょうか?
ちなみに、ボタンの名前は「抽出採用日」でコードは下記のようになっています。
「役職」=13002「所属」=9999「採用日」=2001/04/01で検索したら、「クエリ式'[採用日[=#2001/04/01#AND[所属]='9999'#AND[役職]='13002'の日付の構文エラーです。」となります。
実際は、"&" や "#" の意味も良く分からないので、構文がどこで区切れるのかも分からない状態です。
どなたか、お教え下さい。
Private Sub 抽出採用日_Click()
On Error GoTo Err_抽出採用日_Click
Dim stDocName As String
Dim stLinkCriteria As String
stDocName = "印刷対象者フォーム"
stLinkCriteria = "[採用日]=" & "#" & Format$(Me![採用予定日], "yyyy/mm/dd") & "#AND[所属]=" & "'" & Me![所属] & "'" & "#AND[役職]=" & "'" & Me![役職] & "'"
'stLinkCriteria = "[採用日]=" & "#" & Format$(Me![採用予定日], "yyyy/mm/dd") & "#AND[所属]=" & "'" & Me![所属] & "'"
DoCmd.OpenForm stDocName, , , stLinkCriteria
Exit_抽出採用日_Click:
Exit Sub
Err_抽出採用日_Click:
MsgBox Err.Description
Resume Exit_抽出採用日_Click
End Sub
No.1ベストアンサー
- 回答日時:
以下のような感じで如何でしょうか。
当方で動作確認したらオッケーでしたよ。
' 以下ソース-------------
Private Sub 抽出採用日_Click()
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim cSimei As String
Dim cnt As Long
Set cn = Application.CurrentProject.Connection
Set rs = New ADODB.Recordset
rs.CursorType = adOpenDynamic
rs.ActiveConnection = cn
rs.Open "テーブル", cn
rs.MoveFirst
cnt = 0
Do Until rs.EOF
If rs![役職] = "13002" And rs![採用日] = #4/4/2001# And rs![所属] = "9999" Then
MsgBox rs![氏名] & "だよ"
cnt = cnt + 1
End If
rs.MoveNext
Loop
If cnt = 0 Then
MsgBox "該当ナシ"
End If
rs.Close
Set rs = Nothing
cn.Close
Set cn = Nothing
End Sub
' ココマデ-----------------
日付型の扱いはやっかいです。
M$の例の2001年問題もありますし。
Windowsの日付書式の設定(コンパネ→地域→日付→短い形式、のトコね)
も確認してみてくださいね。
早速のお答えありがとうございました。
私の説明不足だったのですが、実は、3つの条件はテキストボックスに入力しているのですが、ご教示いただいた構文は、任意のコードや、日付にも対応できるのでしょうか?
それと、現在私が記述した構文ではまったくダメなのでしょうか?(できれば、この構文をいかしたいのですが)わがままで、すいません。
No.2
- 回答日時:
下の回答の補足ですが、ソース内で字下げ(インデント)
してある部分は全角スペースを使用しています
(web上での見た目を損なわないため)。
ソースをコピペして使うとか言った場合には
その辺適宜修正して下さいね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Accessフォームで全レコードを指定のExcelのセルへ転送し印刷する方法について 2 2022/09/08 18:23
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
- Visual Basic(VBA) 別シートから年齢別の件数をカウントしたいの続き 5 2023/01/24 00:16
- Access(アクセス) チェックボックスにチェックが入った後の挙動 1 2022/08/21 12:39
- Access(アクセス) アクセス where句を使用して複数条件抽出をするには 2 2022/08/29 13:24
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- Access(アクセス) エクセルのVBAについて教えてください。 4 2023/01/21 10:21
- Visual Basic(VBA) Sheet2の日付をキーにオートフィルターで2023年1月のデータを抽出し、Sheet3へ書き出すた 2 2023/03/06 23:57
- 求人情報・採用情報 埼玉県の臨時職員募集要件について 2 2022/04/04 20:54
- Visual Basic(VBA) 前回ご教授いただいたコードに覚えたてのループ処理で品名りんごAから順に20回for nextでループ 7 2023/01/13 22:01
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
なぜTOPIXの基準日は1968...
-
補欠合格者
-
背が低いと就職がむずかしい??
-
バイト先側の連絡ミスで研修に...
-
チェーン店のバイトをばっくれ...
-
外資系の高級ホテルって顔整い...
-
栄養教諭の資格を取ったほうが...
-
gooでURL登録をする際の「キー...
-
夫婦同氏制を採用しているのは...
-
日本の学校が「飛び級」を採用...
-
海峡線のATC-L型とは?
-
無能を隠し続けて生きてきまし...
-
特許権の記号
-
アクセス2000でのボタンのコー...
-
就活中に苗字が変わった場合書...
-
表面含浸工法をなぜ採用しない。
-
「^^^を標準採用」はどんな...
-
新卒者しか採用しない企業
-
全日空61便ハイジャック事件で...
-
アンケートの結果を数値化
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エヌビディア
-
背が低いと就職がむずかしい??
-
チェーン店のバイトをばっくれ...
-
人数ギリギリの職場。 私の職場...
-
責任者として仕事をどんどん任...
-
外資系の高級ホテルって顔整い...
-
FCコンビニ オープンニングで同...
-
なぜTOPIXの基準日は1968...
-
日本の学校が「飛び級」を採用...
-
日本もミドルネームを導入すべ...
-
表面含浸工法をなぜ採用しない。
-
新聞の投稿欄の薄謝とは何が入...
-
同じ系列のお店の面接受けたん...
-
無能を隠し続けて生きてきまし...
-
就活中に苗字が変わった場合書...
-
なぜ自衛隊は徘徊型ドローンを...
-
アトピー性皮膚炎では警官採用...
-
バイトレで働いています。 単発...
-
山岡家の障がい者採用
-
公立学校の講師は地方自治体の...
おすすめ情報