Access VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


242 / 500 ページ ←次へ | 前へ→

【8412】Re:フォームの値を表示させるようにレポー...
質問  にしもり  - 06/8/3(木) 12:18 -

引用なし
パスワード
   ▼クロ さん:
>フォームを開いたときにレコードソースをセットしてますね。
>Forms!F_Searchも開いて、条件を入れてからF_xxxを開くその上で
>クエリを開くとどうなりますか?
これがでました。

--------------------
| パラメーターの入力      
| Forms!F_XX!txtDT             
| ------------------    
|
| ------------------    
|               
| ---- ----------- 
| ok  キャンセル 
| ---- ----------- 
---------------------

okを押すと次に

--------------------
| パラメーターの入力      
| Implement_Date             
| ------------------    
|
| ------------------    
|               
| ---- ----------- 
| ok  キャンセル 
| ---- ----------- 
---------------------
が出てokを押すと
次に「式が正しく入力されていないか複雑すぎるため評価できません、式に複雑な要素があります、変数に式の一部を割り当て式を簡単にしてください」とでました。
・ツリー全体表示

【8411】Re:フォームの値を表示させるようにレポー...
発言  クロ  - 06/8/3(木) 12:11 -

引用なし
パスワード
   フォームを開いたときにレコードソースをセットしてますね。
Forms!F_Searchも開いて、条件を入れてからF_xxxを開くその上で
クエリを開くとどうなりますか?
・ツリー全体表示

【8410】Re:フォームの値を表示させるようにレポー...
質問  にしもり  - 06/8/3(木) 12:03 -

引用なし
パスワード
   ▼クロ さん:
>ただし、開く時のイベントでレコードソースをセットしているかもしれない
>ですが。コードを提示できますか?
>あと、「Implement_Date」ってどこかのフィールド名ですよね?

これが出ました。
わたしはまず日付を表出させてみようと思っただけなのですが。
わたしのF_xxはF_Searchの複製でなくF_Searchのサブフォームの複製だったんですかね?

Private Sub Form_Open(Cancel As Integer)
  Dim strCriteria As String
  Dim Today

  Today = Now
  strCriteria = "SELECT tbl_UNIT.*, tbl_STAFF.*, tbl_CATEGORY.*, tbl_TRAINING.*, tbl_COURSE.*, tbl_STAFF_COURSE.* " & _
         "FROM tbl_UNIT, tbl_CATEGORY, tbl_TRAINING, tbl_STAFF, tbl_COURSE, tbl_STAFF_COURSE " & _
         "WHERE tbl_UNIT.Unit_ID = [tbl_STAFF].[Attached_Unit_Num] And tbl_CATEGORY.Category_ID = [tbl_TRAINING].[Attached_Category_Num] " & _
         "And tbl_COURSE.COURSE_ID = [tbl_STAFF_COURSE].[COURSE_NUM] And tbl_STAFF.Staff_ID = [tbl_STAFF_COURSE].[Staff_NUM] " & _
         "And tbl_TRAINING.Program_ID = [tbl_COURSE].[Training_Num] And tbl_UNIT.Unit_Status = 'valid' And tbl_STAFF.Staff_Status = 'valid' " & _
         "And tbl_TRAINING.Program_Status = 'valid' And tbl_COURSE.Training_Status = 'valid' And tbl_CATEGORY.Category_Status = 'valid' "
  
  If IsNull(Forms!F_Search!UnitName.Value) = False Then
    strCriteria = strCriteria & " AND tbl_UNIT.Unit_Name = '" & Forms!F_Search![UnitName] & "' "
  End If
  If IsNull(Forms!F_Search!StaffName.Value) = False Then
    strCriteria = strCriteria & " AND tbl_STAFF.Staff_Name = '" & Forms!F_Search![StaffName] & "' "
  End If
  If IsNull(Forms!F_Search!Category.Value) = False Then
    strCriteria = strCriteria & " AND tbl_CATEGORY.Category_Name = '" & Forms!F_Search![Category] & "' "
  End If
  If IsNull(Forms!F_Search!PgmName.Value) = False Then
    strCriteria = strCriteria & " AND tbl_Training.Program_Name = '" & Forms!F_Search![PgmName] & "' "
  End If
  
  strCriteria = strCriteria & " Order by "
  
  Select Case Forms!F_Search!Order.Value
    Case 1
    strCriteria = strCriteria & " tbl_UNIT.Unit_ID desc;"
    Case 2
    strCriteria = strCriteria & " tbl_STAFF.Staff_ID desc;"
    Case 3
    strCriteria = strCriteria & " tbl_CATEGORY.Category_ID desc; "
    Case 4
    strCriteria = strCriteria & " tbl_TRAINING.Program_ID desc;"
  End Select

  Me.RecordSource = strCriteria
  
End Sub

Implement_Dateは元々tbl_COURSEのフィールド名です。日付/時刻型です。
・ツリー全体表示

【8409】Re:filecopyで dドライブと eドライブ...
発言  小僧  - 06/8/3(木) 11:54 -

引用なし
パスワード
   ▼yamauti さん:
こんにちは。

>ボタンにてCDに保存する方法

他所掲示板ですがご参考になれば…。

http://www.accessclub.jp/bbs/0119/beginers40637.html
・ツリー全体表示

【8408】Re:コンボボックスの自動表示について
お礼  ばか  - 06/8/3(木) 11:51 -

引用なし
パスワード
   クロ様
書込みどうもありがとうございました!
御礼がとても遅くなってしまい
申し訳ございません。
助かりました<(_ _)>
・ツリー全体表示

【8407】Re:フォームの値を表示させるようにレポー...
発言  クロ  - 06/8/3(木) 11:45 -

引用なし
パスワード
   >>のようにコントロールソースがあるのは何故?
>なぜとおっしゃられましても。。他者のMDBをぱくったからです。

ぱくったのはいいけど、レコードソースのないのにコントロールソースが
あるのは変でないですか?
当然
>変ですか?
だと思うのですが…

ただし、開く時のイベントでレコードソースをセットしているかもしれない
ですが。コードを提示できますか?
あと、「Implement_Date」ってどこかのフィールド名ですよね?
・ツリー全体表示

【8406】Re:フォームの値を表示させるようにレポー...
質問  にしもり  - 06/8/3(木) 11:40 -

引用なし
パスワード
   ▼クロ さん:

>のようにコントロールソースがあるのは何故?
なぜとおっしゃられましても。。他者のMDBをぱくったからです。

>コントロールソースの▼でリストが現れますか?
▼でリストは何もでませんでした。
変ですか?

>それとまさかと思いますが「Forms」を「Froms」とか書いてませんよね。
Formsです。
・ツリー全体表示

【8405】Re:フォームの値を表示させるようにレポー...
発言  クロ  - 06/8/3(木) 11:33 -

引用なし
パスワード
   フォームF_xxxのプロパティでレコードソースがないのに

>-----------------------------------
>F_xxx
>コントロールの名前:Date/Time
>コントロールソース:Implement_Date
>-----------------------------------

のようにコントロールソースがあるのは何故?
コントロールソースの▼でリストが現れますか?

それとまさかと思いますが「Forms」を「Froms」とか書いてませんよね。
oとrが逆。
・ツリー全体表示

【8404】filecopyで dドライブと eドライブでの...
質問  yamauti E-MAIL  - 06/8/3(木) 11:28 -

引用なし
パスワード
   初心者です。よろしくお願いします。
データを定期的に保存しようとしています

f1="c:\○○db.mdb"
f2="d:\○○db.mdb"
filecopy f1,f2
は OKなのですが

 f1="c:\○○db.mdb"
 f2="e:\○○db.mdb"
 filecopy f1,f2
では ”パス名が無効です”とエラーとなります
ボタンにてCDに保存する方法を教えてください。
・ツリー全体表示

【8403】Re:フォームの値を表示させるようにレポー...
発言  にしもり  - 06/8/3(木) 11:26 -

引用なし
パスワード
   ▼クロ さん:
▼クロ さん:

>ちなみに Date/Time などはかなり問題ありの命名ですが…
あ、Date/Timeのときですか。すみません。
下記のパターンのときは、クエリのDate/Timeの前後に[ ]は付きます。

-----------------------------------
R_xxx
コントロールの名前:Implement Date
コントロールソース:式1
-----------------------------------

-----------------------------------
F_xxx
コントロールの名前:Date/Time
コントロールソース:Implement_Date
-----------------------------------

-----------------------------------
Q_xxx
フィールド:式1:Forms!F_xxx![Date/Time]

-----------------------------------

>なんで付かないんだろ?
上記のとおり、付きました。

>この辺は確認しましたか?
名前は間違えのないよう手打ちでなくコピペしています。

>txtDTテキストボックスコントロールのコントロールソースは?
Implement_Dateとなっております。問題ありですか。
開く時の[イベントプロシージャ]があるからといって連結というわけではないのですね。まだわかっていません。すみません。

何が何かわからなくなってきました。ちょっと頭を整理しましす。
・ツリー全体表示

【8402】Re:レコードの移動
質問  ハジメ  - 06/8/3(木) 11:07 -

引用なし
パスワード
   ▼Gin_II さん:
>> エラーメッセージを出した後、カーソルを1行目(先頭レコード)にsetfocusしたい
>> のでが、最終行にカーソルがあります。
>
>フォーム上でのレコードの移動は、GoToRecord メソッドを使います。
お返事ありがとう御座います
------最終行のチェック
    If Me.CurrentRecord = Me.Recordset.RecordCount Then
      If cnt選択 = 0 Then
        MsgBox "1件も選択していません"
        DoCmd.GoToRecord acDataForm, "F_選択フォーム", acGoTo, 1
        Me!選択.SetFocus
        Exit Sub
      End If
      Me.Parent.cmd印刷.Enabled = True
      Me.Parent.cmd印刷.SetFocus
    End If
上記のようにコードを挿入して実行しました。
サブフォームだけで実行すると上手く1行目にカーソルは移動しますが、メイン
フォームと連動して実行すると次のようなメッセージが出ます
『実行時エラー '2489' オブジェクトF_選択フォームが開いていません』
すみません。もう少し教えて下さい。お願いします。
・ツリー全体表示

【8401】Re:フォームの値を表示させるようにレポー...
回答  クロ  - 06/8/3(木) 10:58 -

引用なし
パスワード
   >>問題のある文字が使われていることはないですか?
>問題の字はないと思います。

ちなみに Date/Time などはかなり問題ありの命名ですが…

>>クエリの式1フィールドに
>>CDate(Forms!F_xxx!txtDT)
>>を書くと自動的に「[ ]」が付くと思うのですが…つきませんか?
>[]はついていませんでした。

なんで付かないんだろ?

>>パラメータを聞いてくるということは対象が開いてないとか、フォーム名が
>>間違っているとか、コントロール名が間違っているなどです。

この辺は確認しましたか?


>F_xxのフォームそのもののプロパティで右クリックします。レコードソースには
>なにも出ません。ずっと下にスクロールして、開く時の[イベントプロシー>
>ジャ]にコードが入っています。その場合は「連結」と考えてよいのですよ>
>ね。

レコードソースでなくコントロールソースです。
txtDTテキストボックスコントロールのコントロールソースは?
ただ、フォームプロパティのレコードソースが空ならtxtDTテキストボックス
コントロールも非連結だと思います。
開く時の[イベントプロシージャ]がチョット気にはなりますが…
・ツリー全体表示

【8400】Re:フォームの値を表示させるようにレポー...
発言  にしもり  - 06/8/3(木) 10:47 -

引用なし
パスワード
   ▼クロ さん:
>あと、フォーム名などを伏せられていますが、こちらに
>問題のある文字が使われていることはないですか?
問題の字はないと思います。

>クエリの式1フィールドに
>CDate(Forms!F_xxx!txtDT)
>を書くと自動的に「[ ]」が付くと思うのですが…つきませんか?
[]はついていませんでした。

>パラメータを聞いてくるということは対象が開いてないとか、フォーム名が
>間違っているとか、コントロール名が間違っているなどです。
>
>また、このtxtDTテキストボックスコントロールは連結ですか、非連結で
>すか?
F_xxのフォームそのもののプロパティで右クリックします。レコードソースにはなにも出ません。ずっと下にスクロールして、開く時の[イベントプロシージャ]にコードが入っています。その場合は「連結」と考えてよいのですよね。

>※ちなみに当方で式1フィールドだけを表示したクエリでもきちんと
> フォームで入力してある日付が表示されました。
それこそわたくしがやりたいことでございます!なぜできるんでしょうかね
・ツリー全体表示

【8399】Re:フォームの値を表示させるようにレポー...
発言  クロ  - 06/8/3(木) 10:22 -

引用なし
パスワード
   あと、フォーム名などを伏せられていますが、こちらに
問題のある文字が使われていることはないですか?

クエリの式1フィールドに
CDate(Forms!F_xxx!txtDT)
を書くと自動的に「[ ]」が付くと思うのですが…つきませんか?

パラメータを聞いてくるということは対象が開いてないとか、フォーム名が
間違っているとか、コントロール名が間違っているなどです。

また、このtxtDTテキストボックスコントロールは連結ですか、非連結で
すか?

※ちなみに当方で式1フィールドだけを表示したクエリでもきちんと
 フォームで入力してある日付が表示されました。
・ツリー全体表示

【8398】Re:フォームの値を表示させるようにレポー...
発言  にしもり  - 06/8/3(木) 10:14 -

引用なし
パスワード
   ▼クロ さん:
>あのですね。このままだと正しく表示されたとしても
>式1しか表示しないのですが…
基本ができていません、すみません。

>何のためにそんなことをしているのですか?
元はといえば【8380】で申しましたがフォームF_Search中にのコマンド7というボタンを押したときにReport1がひらき、そのReport1のUnit_NameにF_SearchのUnitNameを出したいと思ったのです。F_XXとは、F_Searchとは別に自分でテスト的につくったフォームです。なお、お察しと思いますがベースのMDBは他者が作ったものです。

何か, 何か, 何か, 何か, 何か というSELECT句の後のところに必要なフィールドを記述してみます。

すっかり泥沼にはまってしまいました。巻き込んでしまい恐縮です。しかしこの壁を乗り越えないと初級者を脱せられません。がんばってまた報告します。
・ツリー全体表示

【8397】Re:フォームの値を表示させるようにレポー...
回答  クロ  - 06/8/3(木) 10:02 -

引用なし
パスワード
   あのですね。このままだと正しく表示されたとしても
式1しか表示しないのですが…
何のためにそんなことをしているのですか?

たとえ、レポートのレコードソースに指定しても意味がないような…

まずは、SELECT句の後に必要なフィールドを記述して

SELECT 何か, 何か, 何か, 何か, 何か
FROM ((((tbl_STAFF_COURSE INNER JOIN tbl_STAFF ON tbl_STAFF_COURSE.Staff_NUM = tbl_STAFF.Staff_ID) INNER JOIN tbl_COURSE ON tbl_STAFF_COURSE.Course_NUM = tbl_COURSE.Course_ID) INNER JOIN tbl_UNIT ON tbl_STAFF.Attached_Unit_Num = tbl_UNIT.Unit_ID) INNER JOIN tbl_TRAINING ON tbl_COURSE.Training_Num = tbl_TRAINING.Program_ID) INNER JOIN tbl_CATEGORY ON tbl_TRAINING.Attached_Category_Num = tbl_CATEGORY.Category_ID;

としたクエリで希望のデータが表示されるか確認してください。
・ツリー全体表示

【8396】Re:フォームの値を表示させるようにレポー...
質問  にしもり  - 06/8/3(木) 9:47 -

引用なし
パスワード
   ▼クロ さん:
>クエリのSQL文を提示できますか?
クエリには【8387】にてテーブル(6個)を追加しました。正規化も済ませました。

SELECT CDate(Forms!F_xxx!txtDT) AS 式1
FROM ((((tbl_STAFF_COURSE INNER JOIN tbl_STAFF ON tbl_STAFF_COURSE.Staff_NUM = tbl_STAFF.Staff_ID) INNER JOIN tbl_COURSE ON tbl_STAFF_COURSE.Course_NUM = tbl_COURSE.Course_ID) INNER JOIN tbl_UNIT ON tbl_STAFF.Attached_Unit_Num = tbl_UNIT.Unit_ID) INNER JOIN tbl_TRAINING ON tbl_COURSE.Training_Num = tbl_TRAINING.Program_ID) INNER JOIN tbl_CATEGORY ON tbl_TRAINING.Attached_Category_Num = tbl_CATEGORY.Category_ID;

さきほどのパラメータ入力要求で、なにもいれずにokを押してみました。そしたら、「式が正しく入力されていないか複雑すぎるため評価できません、式に複雑な要素があります、変数に式の一部を割り当て式を簡単にしてください」とでました。このようなMSG初めて見ました。クエリ中にテーブル6個というのががおおすぎるのでしょうか。正規化して複雑になりすぎたのでしょうか。
・ツリー全体表示

【8395】Re:フォームの値を表示させるようにレポー...
発言  クロ  - 06/8/3(木) 9:32 -

引用なし
パスワード
   クエリのSQL文を提示できますか?
・ツリー全体表示

【8394】Re:フォームの値を表示させるようにレポー...
質問  にしもり  - 06/8/3(木) 9:26 -

引用なし
パスワード
   ▼クロ さん:
>クエリのところを
>式1: CDate([Forms]![F_xxx]![txtDT])
>とするとどうなります?
おっしゃるとおりにし、
F_XXを開き、その状態でQ_XXを開きました。
そうしたら、またこれがでました。

--------------------
| パラメーターの入力      
| Forms!F_XX!txtDT             
| ------------------    
|
| ------------------    
|               
| ---- ----------- 
| ok  キャンセル 
| ---- ----------- 
---------------------
・ツリー全体表示

【8393】Re:フォームの値を表示させるようにレポー...
回答  クロ  - 06/8/3(木) 9:22 -

引用なし
パスワード
   クエリのところを
式1: CDate([Forms]![F_xxx]![txtDT])
とするとどうなります?
・ツリー全体表示

242 / 500 ページ ←次へ | 前へ→
ページ:  ┃  記事番号:
1084640
(SS)C-BOARD v3.8 is Free