前にも一回質問したんですが、どうしてもうまくいかないので、もう一回質問させていただきます。(すいません)

Access2000での複合条件検索のコードビルダがうまくないようで、正しく動きません。

試験結果の集計なのですが、抽出するためのキーは「面接日」と「判定結果」です。

クエリには「面接日」と「総合判定コード」があります。
フォームには「試験日」と「判定結果」というテキストボックスがあります。

テキストボックスの「試験日」には日付、「判定結果」には1(=合格)か3(=不合格)を入れて抽出ボタンをクリックするのですが、構文エラーになります。

どこを、どう直したらいいのでしょうか?


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![判定結果]

DoCmd.OpenForm stDocName, , , stLinkCriteria

Exit_抽出ボタン_Click:
Exit Sub

Err_抽出ボタン_Click:
MsgBox Err.Description
Resume Exit_抽出ボタン_Click

End Sub

このQ&Aに関連する最新のQ&A

A 回答 (2件)

こんにちは。

maruru01です。
気づいた点を。
(1)ANDの前後に半角スペースを入れてますか?
(2)総合判定コードのデータ型は数値型ですか?文字列型なら、
  [総合判定コード]='" & Me![判定結果] "'"
というふうに、右辺をシングルクォーテーションで括らないといけません。

では。
    • good
    • 0

stLinkCriteria = "[面接日] = #" & Me![試験日] & "# And [総合判定コード] = " & Me![判定結果]



でどうですか?
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q富士通エアコンAS-287NE4とAS-288NE5の違い

富士通ゼネラルのエアコン、AS-287NE4とAS-288NE5の違いがわかる方アドバイスお願いします。
購入を検討しているのですが、スペックを見る限りではどうしても違いがわかりません。
検討している量販店では価格差が2万円ほどあるのですが、それに見合う改善点があるのかがわかればと思っています。
よろしくお願いします。

Aベストアンサー

型番を見る限り、エディオングループ向けモデルですね。
おそらく見た目や性能などは全く同じでしょう。

とはいっても、見えない部分で、製造で組み立てにくい部分が改善されていたり、市場で発生したトラブルの設計変更がされているでしょう。
あとは使用部品が変わっていたり、ソフトウェアが変わっていたりするものです。

QExcel VBAでsub,dimは何の略?

Excel VBAで
sub,dimはそれぞれ何の略ですか?

Aベストアンサー

sub subroutine(サブルーチン)
dim dimension(次元)

です。
元々はFORTRAN言語で、手続きの開始を宣言するSUBROUTINEと、配列を宣言するDIMENSIONでした。
FORTRANのDIMENSIONやN-BASIC等でのDimは、配列変数を宣言するものだったのですが、
VBになって、配列じゃない変数もDimで宣言するようになりました。

Q当方AS初心者です。Flash CS5にて画像の隠れた部分を

当方AS初心者です。Flash CS5にて画像の隠れた部分を
スクロールによって表示させるものを作成したいです。
下記のサイトのようなScrollPaneコンポーネントで可能だとは思うのですが、
CS5での使用方法を探しております。よろしくお願いします。
http://www.mediacreator.jp/tutorials/show_tutorial.asp?id=62&pn=2

Aベストアンサー

「CS5での使用方法」ではなく
「(CS5の)ActionScript 3.0 設定での使用方法」 ですよね?
(CS5 でも ActionScript 2.0 にすれば,書かれていらっしゃるページと同じ方法でできると思います。)
(ActionScript 3.0 設定の場合 識別子 は付けられません。)



とにかく,ステージ上に絵を描くか写真を配置し,
その絵や写真をムービークリップシンボルに変換しますよね。
そのときに 基準点 を 左上 にしてムービークリップに変換します。
      ~~~~~~~~~~~~~~~~~~~

この操作で「ライブラリ」にそのムービークリップシンボルが入りますからそれを確認します。

次にその「ライブラリ」の中のそのムービークリップシンボルを選択して
右クリックなどから「プロパティ」を表示させます。

出てきた「シンボルプロパティ」パネルで
 □ ActionScript 用に書き出し
 と
 □1フレームに書き出し
にチェックを入れます。

そうしますと,
 クラス:[      ]
の部分が記入可能になりますから
その[  ]の欄で適当に決めたクラス名を付けます。

たとえば 「GazouMC」 というクラス名を付けます。
     ~~~~~~~~~~~~~

そして「シンボルプロパティ」パネルをOKで閉じます。

最初に作成したステージ上のムービークリップはもう必要ないので削除します。
(画像入りムービークリップはライブラリに残っているのでステージから削除しても大丈夫です。)


次に「コンポーネント」パネルから
「ScrollPane」コンポーネントを選択し
ドラッグ&ドロップ でステージ上に「ScrollPane」を引きずり出します。

その引きずり出したステージ上の「ScrollPane」を選択し
今度は「コンポーネントインスペクタ」で「パラメータ」タブを選択し
「source」となっている欄の値に
上で命名したクラス名「GazouMC」を記入します。

これでパブリッシュ または ムービープレビュー などをすれば
ステージ上の 「ScrollPane」 内に 「GazouMC」 が表示されます。

「CS5での使用方法」ではなく
「(CS5の)ActionScript 3.0 設定での使用方法」 ですよね?
(CS5 でも ActionScript 2.0 にすれば,書かれていらっしゃるページと同じ方法でできると思います。)
(ActionScript 3.0 設定の場合 識別子 は付けられません。)



とにかく,ステージ上に絵を描くか写真を配置し,
その絵や写真をムービークリップシンボルに変換しますよね。
そのときに 基準点 を 左上 にしてムービークリップに変換します。
      ~~~~~~~~~~~~~~~~~~~

この操作で「ライブラリ」にそのムー...続きを読む

Qエクセル/マクロ Exit Subが実行されない

エクセルマクロの質問です。エクセルのヴァージョンは2000です。
あるシートをコピーして新シートに任意の名前を付けるマクロを作っています。ユーザーフォームの中に一つのテキストボックス(新シートの名前入力用)と二つのコマンドボタンを設置し一つは実行ボタン、もう一つはキャンセルボタンとしました。
QNo.6367227でエラー処理に関する質問をさせていただきましたが、こちらは見事に解決していただきました。

今回の質問はExit Subに関する質問です。
If構文で、条件文1が真であればシートをコピーして名前を変更、フォームを閉じるという処理を目指しています。
If 条件 Then ~ 処理 Exit Sub
という形を作って試してみたのですが、処理後にExit Subが実行されません。Exit Subの前にメッセージボックスを挿むとメッセージは表示されましたが、やはりExit Subにはたどり着けませんでした。

すごく初歩的な事で恥ずかしいのですが、Exit Subが実行されない理由と解決法をご教示いただけると助かります。よろしくお願いします。

Private Sub CommandButton1_Click()

Dim NewSheetName As String
NewSheetName = TextBox1.Value

On Error Resume Next
Sheets("Summary").Name = NewSheetName
If Err.Number = 0 Then
Sheets(NewSheetName).Copy before:=Sheets(NewSheetName)
ActiveSheet.Name = "Summary"

MsgBox ("Task Completed!")
ExitSub

Else
MsgBox "Invalid name!"
End If
On Error GoTo 0

End Sub

エクセルマクロの質問です。エクセルのヴァージョンは2000です。
あるシートをコピーして新シートに任意の名前を付けるマクロを作っています。ユーザーフォームの中に一つのテキストボックス(新シートの名前入力用)と二つのコマンドボタンを設置し一つは実行ボタン、もう一つはキャンセルボタンとしました。
QNo.6367227でエラー処理に関する質問をさせていただきましたが、こちらは見事に解決していただきました。

今回の質問はExit Subに関する質問です。
If構文で、条件文1が真であればシートをコピーして...続きを読む

Aベストアンサー

こんな感じでどうでしょう。

Private Sub CommandButton1_Click()
Dim Ws As Worksheet

Set Ws = Worksheets("Summary")
On Error GoTo ErrorMessage
Ws.Name = TextBox1.Value
On Error GoTo 0
Ws.Name = "Summary"
Ws.Copy After:=Ws
ActiveSheet.Name = TextBox1.Value
MsgBox "Task Completed!"
Exit Sub

ErrorMessage:
MsgBox "Invalid name!"
End Sub

Private Sub CommandButton2_Click()
Unload Me
End Sub

CommandButton2はキャンセルボタンというより終了ボタンになります。
「Unload Me」でユーザーフォームを終了します。
CommandButton1でユーザーフォームを終了させてもよいのですが、シートを複数回コピーする場合を考えると、終了ボタンで終了させた方がよいと思います。

こんな感じでどうでしょう。

Private Sub CommandButton1_Click()
Dim Ws As Worksheet

Set Ws = Worksheets("Summary")
On Error GoTo ErrorMessage
Ws.Name = TextBox1.Value
On Error GoTo 0
Ws.Name = "Summary"
Ws.Copy After:=Ws
ActiveSheet.Name = TextBox1.Value
MsgBox "Task Completed!"
Exit Sub

ErrorMessage:
MsgBox "Invalid name!"
End Sub

Private Sub CommandButton2_Click()
Unload Me
End Sub

CommandButton2はキャンセルボタ...続きを読む

QFlash professional CS5を使っており,AS3.0で

Flash professional CS5を使っており,AS3.0で記述しています。




外部swf(test.swf)をムービークリップ(my_mcとしました)に読み込むには
どのようにコードを記述すればよいのでしょうか?



MovieClipLoaderを使う物や


var urlReq:URLRequest=new URLRequest("test.swf");
var swfLoader:Loader=new Loader();
swfLoader.load(urlReq);


このようにロードする方法は見つかったのですが


my_mc = loader.content as MovieClip;

などとしても
ムービークリップに読み込めません。
いろいろ試したのですが直接ステージに読み込まれて表示されたり,エラーも起こらず表示されなかったりします。




よろしくお願いします。

Aベストアンサー

ActionScript 2.0 以下ではないのですから
「ムービークリップ(または root) にロードする」 という考え方自体を変えないとだめです。

「ムービークリップ(または root) にロードする」 のではなくて
「Loaderにロードして そのLoaderをムービークリップ(または root) に addChild する」 のです。

QPrivate Sub Workbook_BeforeSaveについて

エクセル2000です。
腑に落ちない現象が起きているので質問させてください。
Sheet1にテキストボックス(OLEオブジェクトのTextboxではありません)とボタンが貼ってあり、Visble=Falseで非表示にしています。それを保存する際には表示させたいので、BeforeSaveイベントで

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Sheet1.TextBoxes("テキスト").Visible = True
Sheet1.Buttons("ボタン").Visible = True
MsgBox "保存されちゃった!"
End Sub

と書いてみました。
手動で保存する場合には正しく、テクストボックスやボタンは正しく表示されます。もちろんMsgboxも出ます。

ところが、標準モジュールに書いた以下のコード、

Sub 保存()
ActiveWorkbook.Save
End Sub

を走らせてみても、"保存されちゃった!"と、Msgboxは出ますが、肝心のテクストボックスやボタンが表示されません。
試行錯誤の結果、
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Sheet1.Shapes("テキスト").Visible = True
Sheet1.Shapes("ボタン").Visible = True
MsgBox "保存されちゃった!"
End Sub

と書くと、標準モジュールから、ActiveWorkbook.Saveでも表示されることがわかりました。
どうしてでしょうか?

エクセル2000です。
腑に落ちない現象が起きているので質問させてください。
Sheet1にテキストボックス(OLEオブジェクトのTextboxではありません)とボタンが貼ってあり、Visble=Falseで非表示にしています。それを保存する際には表示させたいので、BeforeSaveイベントで

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Sheet1.TextBoxes("テキスト").Visible = True
Sheet1.Buttons("ボタン").Visible = True
MsgBox "保存されちゃった!"
End Sub

と...続きを読む

Aベストアンサー

>を走らせてみても、"保存されちゃった!"と、Msgboxは出ますが、肝心のテクストボックスやボタンが表示されません。

ユーザー関数を抜けて「シートが待ち状態になるまで」は、シート上の子コントロールのVisibleプロパティの変化は反映されません。

ところが「セーブしちゃうと、Visibleプロパティが変化したのを忘れてしまう」ので「Sub 保存()を抜け、Visibleプロパティの変化が反映されるタイミング」には、もう「Visibleプロパティが変化したのを忘れている」のです。

つまり、Sub 保存()を抜けるまで、Visibleプロパティを変化させても反映されません。

しかし、ShapesのVisibleプロパティは「見た目だけを即座に画面に反映する」ので、Visibleプロパティを変更した瞬間に画面に反映されます(但し、反映されるのは「見た目だけ」なので、そのコントロールがクリック可能とは限りません)

QAS3 mc0~5をまとめて処理する

AS3初心者です。
forにてmc0~5をまとめて処理したいのですが、
下記スクリプトで、function内mc0の書き換え方が分かりません。
よろしくお願いします。

/////////////////////////////////////////

import fl.transitions.easing.Regular;

import fl.transitions.TweenEvent;

var twObj:Tween;

for(var i:int=0;i<=5;i++){

this["mc"+i].addEventListener(MouseEvent.ROLL_OVER, hiraku);

this["mc"+i].addEventListener(MouseEvent.ROLL_OUT, modoru);
}

function hiraku(eventObj:MouseEvent):void {

//mc0を["mc"+i]としまとめて処理したい
twObj=new Tween(mc0,"rotation",Regular.easeInOut,0,30,1,true);
}

function modoru(eventObj:MouseEvent):void {

//mc0を["mc"+i]としまとめて処理したい
twObj=new Tween(mc0,"rotation",Regular.easeInOut,30,0,1,true);
}

//////////////////////////////////////////

AS3初心者です。
forにてmc0~5をまとめて処理したいのですが、
下記スクリプトで、function内mc0の書き換え方が分かりません。
よろしくお願いします。

/////////////////////////////////////////

import fl.transitions.easing.Regular;

import fl.transitions.TweenEvent;

var twObj:Tween;

for(var i:int=0;i<=5;i++){

this["mc"+i].addEventListener(MouseEvent.ROLL_OVER, hiraku);

this["mc"+i].addEventListener(MouseEvent.ROLL_OUT, modoru);
}

function hiraku(eventObj:MouseEvent):void {...続きを読む

Aベストアンサー

eventObj.targetでまとめます。以下でどうでしょう。
function hiraku(eventObj:MouseEvent):void {

//mc0を["mc"+i]としまとめて処理したい
twObj=new Tween(eventObj.target,"rotation",Regular.easeInOut,0,30,1,true);
}

function modoru(eventObj:MouseEvent):void {

//mc0を["mc"+i]としまとめて処理したい
twObj=new Tween(eventObj.target,"rotation",Regular.easeInOut,30,0,1,true);
}

QPrivate Sub Worksheet_Calculate()のことでお聞きします

いつもgooの皆さんに大変お世話になっております
マクロの勉強を初めて2ヶ月の者です

Private Sub Worksheet_Change(ByVal Target As Range)にマクロを書いているのですが
「特定のセル範囲が変更されたときに処理を実行する」は分かるのですが
特定のセル範囲が変更されなくても、例えば、セルの値がインストールされているアドインで
変化した時の処理はどこに書いたらいいのでしょうか?

今現在、H列のTarget.RowとJ列のTarget.Rowにはアドインで、機器の温度が表示されていますが
この2点の温度変化で
Application.Speech.Speak "温度接近", True
などどやりたいのですが、Private Sub Worksheet_Calculate()に書けばいいのでしょうか
その場合、Private Sub Worksheet_Change(ByVal Target As Range)内の
Target.Row等の値はどうやったらPrivate Sub Worksheet_Calculate()で使えますか?
それとも、もしかしたら標準モジュールに書くのでしょうか?

うまく説明できていませんが、どなたか教えてください

いつもgooの皆さんに大変お世話になっております
マクロの勉強を初めて2ヶ月の者です

Private Sub Worksheet_Change(ByVal Target As Range)にマクロを書いているのですが
「特定のセル範囲が変更されたときに処理を実行する」は分かるのですが
特定のセル範囲が変更されなくても、例えば、セルの値がインストールされているアドインで
変化した時の処理はどこに書いたらいいのでしょうか?

今現在、H列のTarget.RowとJ列のTarget.Rowにはアドインで、機器の温度が表示されていますが
この2点の...続きを読む

Aベストアンサー

こんばんは。

今回の質問は、ご質問者さんには、別のイベントというか、紹介しましたね。その中に含まれていたかもしれません。

今回の件は、マクロを勉強して2ヶ月の人の話ではなく、3年やっても、5年やっても知らない人は知らないことで、かなりハイレベルというか、古めかしいというか、ほとんど知られていない技術だと思います。こういう話は、1冊の本にもなっています。本来、計測メーカー側の専門業者に頼んでしまったほうが早い気もします。たぶん、彼らは、公表はしていませんが、それ専用のVBA用のマクロを持っているはずです。

>特定のセル範囲が変更されなくても、例えば、セルの値がインストールされているアドインで
>変化した時の処理はどこに書いたらいいのでしょうか?

ふつうは、どこでもよいので、
=Now()
という式を書いて、
Private Sub Worksheet_Calculate()
に、イベントを拾わせるわけです。
しかし、少し、工夫が必要で、時々、これが困った動きをします。

Calculate のイベントが、ワークブック全体に働いてしまい、どこのシートを使っても、Calculateイベントが動いてしまいます。この方針で話が本格的になった時に、この対処法は、あらためて紹介します。

>(Worksheet_Change)のTarget.Row等の値はどうやったらPrivate Sub Worksheet_Calculate()で使えますか?

単に、モジュール変数を使って橋渡しするのか、それとも、同時で働くということなら、 Worksheet_Calculateのイベントでなくてもよいはずです。どのように使うのか、こちらではわかりかねます。本来、別の働きをするものです。もちろん、キーで入力した際は、Worksheet_Calculateのイベントは、起動します。

>Application.Speech.Speak "温度接近", True
>などどやりたいのですが、Private Sub Worksheet_Calculate()に書けばいいのでしょうか

ActiveX コントロールで入ってきた値が、どのように加わっていくのかにもよりますが、セルの位置は、Worksheet_Changeイベントのようにセルの位置は感知しませんから、インプットの場所が動いていくのでしたら、マクロで最後尾を探さなくてはなりません。

>それとも、もしかしたら標準モジュールに書くのでしょうか?
同様のコマンドで、標準モジュールに書く方法もあります。とても古い方法で、オブジェクト・ウィンドウにも出てこないはずです。しかし、まだ、同様の働きはしますが、今は、シートモジュールが主流になっています。

こんばんは。

今回の質問は、ご質問者さんには、別のイベントというか、紹介しましたね。その中に含まれていたかもしれません。

今回の件は、マクロを勉強して2ヶ月の人の話ではなく、3年やっても、5年やっても知らない人は知らないことで、かなりハイレベルというか、古めかしいというか、ほとんど知られていない技術だと思います。こういう話は、1冊の本にもなっています。本来、計測メーカー側の専門業者に頼んでしまったほうが早い気もします。たぶん、彼らは、公表はしていませんが、それ専用のVBA用の...続きを読む

QPHP4から5への移行に伴うFatal error:Cannot use string offset as an array というエラーについて、

php4から5へ移行した際以下のエラーがでてしまいました、以前はうまく稼動したんですが・・・。どうしても原因がわからないのでどなたか教えていただけたら幸いです。

Fatal error: Cannot use string offset as an array in /home/.sites/106/site3/web/make_rss/lib/Init_class.php on line 344
------------------------------------------------------
332 $ex = "0";
333 for($i=0; $i<$count; $i++){
334 if($string[$i][4] == "1" or $string[$i][4] == "2"){
335 $str[$ex][0] = $string[$i][0];
336 $str[$ex][1] = $string[$i][1];
337 $str[$ex][2] = $string[$i][2];
338 $str[$ex][3] = $string[$i][3];
339 $str[$ex][4] = $string[$i][4];
340 $str[$ex][5] = $string[$i][5];
341 $ex++;
342 }
343 }
----------------------------------------------------

ちなみに変数$stringは、print_r($string);で以下のように表示されます↓
Array ( [0] => Array ( [0] => 2006年10月31日PM05:59 [1] => test [2] => test [3] => test [4] => 1 [5] => 1 ) )
----------------------------------------------------

以上です。どうかお願いいたします。

php4から5へ移行した際以下のエラーがでてしまいました、以前はうまく稼動したんですが・・・。どうしても原因がわからないのでどなたか教えていただけたら幸いです。

Fatal error: Cannot use string offset as an array in /home/.sites/106/site3/web/make_rss/lib/Init_class.php on line 344
------------------------------------------------------
332 $ex = "0";
333 for($i=0; $i<$count; $i++){
334 if($string[$i][4] == "1" or $string[$i][4] == "2"){
335 $str[$ex][0] = $string[$i...続きを読む

Aベストアンサー

おそらく、332行目より前に、$strに文字列を入れているのが原因だと思います。
for文の前に、
$str=null;
などを入れると直ると思います。

QPrivate Sub Workbook_open()で、マクロが止まってしまいます

よろしくお願いします。昨年はgooの皆さんに大変お世話になりました
お陰様でマクロもエクセルも大いに進歩できました
今年もよろしくお願いします

質問です
Private Sub Workbook_open()で、マクロが止まってしまいます
原因は
'***********************

'***********************
で、はさまれた部分にあるようです(REM文にするとマクロは止まりません)
なぜマクロが止まってしまうのでしょうか?
どなたか教えてください

Private Sub Workbook_open()
'実行順序はWorkbook_open()がauto_openより先
With Sheets("T60012")
'エクセルopen時に前回close時のデータは全部クリアー(終わったことだから比較は意味がない)
.Range("AP42:AP62").ClearContents '管理上限オーバー 旧温度クリアー
.Range("BA42:BA62").ClearContents '管理下限アンダー 旧温度クリアー
.Range("CE42:CE62").ClearContents 'OK NOの文字 デフォルトは空白
'****************************
Application.EnableEvents = True
Application.Speech.Speak "ボリュームチェック、ボリュームチェック", True
Application.EnableEvents = False
'****************************

End With
End Sub

よろしくお願いします。昨年はgooの皆さんに大変お世話になりました
お陰様でマクロもエクセルも大いに進歩できました
今年もよろしくお願いします

質問です
Private Sub Workbook_open()で、マクロが止まってしまいます
原因は
'***********************

'***********************
で、はさまれた部分にあるようです(REM文にするとマクロは止まりません)
なぜマクロが止まってしまうのでしょうか?
どなたか教えてください

Private Sub Workbook_open()
'実行順序はWorkbook_open(...続きを読む

Aベストアンサー

こんにちは!

>Application.EnableEvents
のTRUEとFALSEが逆なのでは?

お示しのコードでは「イベントを止める」で終わっていますので
そこでマクロそのものが止まってしまうと思います。

あくまで個人的見解ですが
今回のコードでは
>Application.EnableEvents = False

>Application.EnableEvents = True
の2行は不要な気がします。
(検証はしていません)

一般的にはChangeイベントなどで無限ループに陥るのを防ぐ場合、
この使い方をすることが多いと思います。

※ 万一エラーでマクロが止まったのであれば
Application.EnableEvents = True
の1行だけの別マクロで戻してあげないと
お示しのプロシージャそのものがうんともすんとも言わなくなるのでは?
(これも未検証なので無意味だったらごめんなさい)m(_ _)m


人気Q&Aランキング

おすすめ情報