Access VBA質問箱 IV

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

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


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

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

引用なし
パスワード
   ▼クロ さん:
おはようございます。

>このテキストボックスの名前変えるとどうなりますか?
>たとえば「txtDT」とかに…
以下のように変えました。

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

-----------------------------------
F_xxx
コントロールの名前:Date/Time→txtDTに変更しました
コントロールソース:Implement_Date
-----------------------------------

-----------------------------------
Q_xxx
フィールド:式1:Forms!F_xxx![Date/Time]→自動的にForms!F_xxx!txtDTになってました。

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

F_XXを開いた状態でQ_XXを開きました。
そうしたら、いきなり
--------------------
| 式1      
| ------------------    
|
| ------------------    
|               
| ------------------
| 
| ------------------
|               
| ------------------
| 
| ------------------
|               
| ------------------
| 
| ------------------
---------------------
がでました。
なんかもう少しのような気がしますが。
理解できていず、すみません。
・ツリー全体表示

【8391】Now関数について
質問  久々の投稿者  - 06/8/3(木) 1:13 -

引用なし
パスワード
   久々に質問致します。

OS:WinNT4.0
アプリ:Access2.0

Sub a()

  MsgBox Now

End Sub

上記の環境とコードで、PCによってNowで取得する日時が通常と異なる場合があります。
異なる場合のPCは、どちらかというと新しくCPUもいいPCです。
PCのメーカーや製品等は調査できていません(>_<)
PCの日付や時刻は合っています。
OSがWin2000では正しい日時が取得できました。
確かではないのですが、取得される時刻は数十分程早く、30分おきにしか更新されていない模様です。
コマンドプロンプト等で、日時を取得する方法もありますが、諸事情によりコマンドプロンプトは使用できません。
APIやスクリプトで日時の取得を試みましたが、Access2.0では使用できませんでした。

アプリがかなり古く、上記の事象をご存知の方はなかなかいらっしゃらないと思われますが、この事象の原因をご存知の方はご教授願います。
少しでも似た現象を経験されたことでも何かのヒントになると思います。
返信を頂けると嬉しいです。
・ツリー全体表示

【8390】Re:フォームの値を表示させるようにレポー...
回答  クロ  - 06/8/2(水) 21:46 -

引用なし
パスワード
   >F_XXを開いているときのForms!F_XX!Date/Timeには、

このテキストボックスの名前変えるとどうなりますか?
たとえば「txtDT」とかに…
・ツリー全体表示

【8389】Re:フォームの値を表示させるようにレポー...
質問  にしもり  - 06/8/2(水) 17:42 -

引用なし
パスワード
   ▼クロ さん:
F_XXを開き、その状態でQ_XXを開きました。
そうしたら、またこれがでました。

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

OKを押したら
--------------------
| 式1      
| ------------------    
|
| ------------------    
|               
| ------------------
| 
| ------------------
|               
| ------------------
| 
| ------------------
|               
| ------------------
| 
| ------------------
---------------------
のようになりました。
F_XXを開いているときのForms!F_XX!Date/Timeには、日付けが入っているのですが。。。

ps.いつもありがとうございます。
小生これから外出しなければいけないのでどうか無理に回答なさらないでください。
・ツリー全体表示

【8388】Re:フォームの値を表示させるようにレポー...
回答  クロ  - 06/8/2(水) 17:18 -

引用なし
パスワード
   まず、フォームF_xxは開いてますか?
開いていたらクエリQ_xxxを開いて「式1」にはフォームF_xxの値が
表示されてますか?
表示されていたらレポートR_xxxも表示すると思うのですが…

>あたらしくフォームを基にしたレポート(R_xxx)を作ろうと思い、レポート→
>新規作成→レポートウィザード と進めたら、基になるテーブルかクエリを
>指定するようにとありました。

とありましたが、フォームと同じレコードソースで作成すればいいと思うの
ですがどうでしょうか?
・ツリー全体表示

【8387】Re:フォームの値を表示させるようにレポー...
質問  にしもり  - 06/8/2(水) 17:09 -

引用なし
パスワード
   ▼クロ さん:
Q_xxxを開き、テーブルの表示で、すべてのテーブルを追加しました。
そしたら、クエリの入力には1つ以上のテーブルまたはクエリが必要です、というメッセージはでなくなりました。1歩前進しましたが(R_xxxは開くが)、タイトルだけ出て肝心の部分が空白です。おっしゃるとおりリポートR_xxxの"Implement Date"のコントロールのコントロールソースは「式1」にしました。
まだどこかおかしいですか。

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

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

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

-----------------------------------
・ツリー全体表示

【8386】Re:フォームの値を表示させるようにレポー...
回答  クロ  - 06/8/2(水) 15:48 -

引用なし
パスワード
   こんにちは

>そこであらたにクエリQ_xxxをつくり、フィールドに式1: Forms!F_xxx!xxxxxという風にしてsaveしました。

としたなら

>また、レポートR_xxxのコントロールソースは=Forms!F_xxx!xxxxxという風にしました。

リポートR_xxxの"何かの"のコントロールのコントロールソースは
「式1」でいいので?

それとレポートのプロパティを確認してレコードソースが「Q_xxx」になってますか?

※取りあえず「焦らず」やってみてください。
・ツリー全体表示

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

引用なし
パスワード
   すみません。
またわからなくなってしまいました。

あたらしくフォームを基にしたレポート(R_xxx)を作ろうと思い、レポート→新規作成→レポートウィザード と進めたら、基になるテーブルかクエリを指定するようにとありました。

そこであらたにクエリQ_xxxをつくり、フィールドに式1: Forms!F_xxx!xxxxxという風にしてsaveしました。

また、レポートR_xxxのコントロールソースは=Forms!F_xxx!xxxxxという風にしました。

ところが、R_xxxを開くと、クエリの入力には1つ以上のテーブルまたはクエリが
必要です、と出ます。

Q_xxxをしっかりつくったのにどこがいけないのでしょうか。どうかご教示ください。
・ツリー全体表示

【8384】Re:レコードの移動
回答  Gin_II  - 06/8/1(火) 17:11 -

引用なし
パスワード
   > エラーメッセージを出した後、カーソルを1行目(先頭レコード)にsetfocusしたい
> のでが、最終行にカーソルがあります。

フォーム上でのレコードの移動は、GoToRecord メソッドを使います。
・ツリー全体表示

【8383】レコードの移動
質問  ハジメ  - 06/8/1(火) 15:34 -

引用なし
パスワード
   メインフォームで選択条件を入力して、条件に合致するデータをサブフォームに
表示して、更にサブフォームの表示データから任意のデータを選択する処理の
プログラムを作成しています。
 教えて頂きたい処理はサブフォームで1件も選択していない時に
エラーメッセージを出した後、カーソルを1行目(先頭レコード)にsetfocusしたいのでが、最終行にカーソルがあります。
サブフォームのコードは以下の通りです。
  Private Sub 合計個数_Exit(Cancel As Integer)
   Dim DB As Database
   Dim RS As Recordset
   Dim rs_2 As Recordset
   Dim MySQL As String
   Dim Rst3 As Recordset
   Dim 行数 As Integer
   Set DB = CurrentDb
   Set Rst3 = DB.OpenRecordset("wk_印刷用合計デー タ",dbOpenTable) 'IN
   If Nz(Me!選択) = 1 Then
      cnt選択 = cnt選択 + 1
   End If
   MySQL = "select * from Q_印刷用合計データ where 出庫No. = " & Me!出庫No.
    Set RS = DB.OpenRecordset(MySQL)
    If RS.RecordCount = 0 Then
      MsgBox "データ???", vbOKOnly, "SUB"
      Cancel = True
    End If
'------最終行のチェック
    If Me.CurrentRecord = Me.Recordset.RecordCount Then
      If cnt選択 = 0 Then
        MsgBox "1件も選択していません"
        Rst3.MoveFirst    <−−−?
        Exit Sub
      End If
      Me.Parent.cmd印刷.Enabled = True
      Me.Parent.cmd印刷.SetFocus
    End If
 END SUB
上記のコードで最終行の時に1件も選択されていない(cnt選択=0)時に
MoveFirstを書いたのですがここが動作していないと思います。
サブフォームのレコードソースはWK_印刷用データを指定しています。
どうぞ宜しくお教え下さい
・ツリー全体表示

【8382】Re:フォームの値を表示させるようにレポー...
お礼  にしもり  - 06/7/31(月) 18:09 -

引用なし
パスワード
   ▼クロ さん:
いつもありがとうございます。
おっしゃるとおりでできました。

まだまだ力不足でございます。
・ツリー全体表示

【8381】Re:フォームの値を表示させるようにレポー...
発言  クロ  - 06/7/31(月) 17:48 -

引用なし
パスワード
   こんにちは
フォームF_Searchは開いたままで、レポートのUnit_Nameが連結していないという条件下で
Unit_Nameテキストボックスのコントロールソースに
=[Forms]![F_Search]![UnitName]
でいいのでは?
・ツリー全体表示

【8380】フォームの値を表示させるようにレポート...
質問  にしもり  - 06/7/31(月) 17:38 -

引用なし
パスワード
   こんにちは。
フォームF_Search中のコマンド7というボタンにこのようなコードを付けました。
つまりReport1のUnit_NameにF_SearchのUnitNameを出したいのです。

Private Sub コマンド7_Click()
DoCmd.OpenReport "Report1", acViewPreview
'1
Reports!Report1.Unit_Name = Forms!F_Search.UnitName
'2
'Reports!Report1.Unit_Name = Me!UnitName
'3
'Reports!Report1.Unit_Name = [Forms]![F_Search]![UnitName]

End Sub

ところが1,2,3を順に試しましたがいずれも
実行時エラー2147352567 このオブジェクトに値を代入することはできません、と出ます。
テキスト型なので前後にシングルクォーテーションをつけるのかと思いましたが、コードが赤くなりエラーになってしまいます。
何が足りないのか、どなたか教えていただけないでしょうか。
・ツリー全体表示

【8378】Re:印刷後のチェックの付け方について・・
お礼  ひかる  - 06/7/31(月) 14:13 -

引用なし
パスワード
   UPDATEをし、印刷するのだけを印刷時VBAに組みできました。ありがとう御座いました。
・ツリー全体表示

【8377】Re:プロセスを完了するには
お礼  にしもり  - 06/7/31(月) 14:05 -

引用なし
パスワード
   ▼小僧 さん:

>業務が忙しくなかなかレスが付けられなくてすみません。
ありがとうございます。でも無理をなさらないでください。

このDBの作者はDirty状態でflgを多用しているのでご指摘は的を得ていると思いました。が、すべての更新後処理の1行目にDoCmd.RunCommand acCmdSaveRecord を挿入してみましたが結果は同じでした。今のままでも更新自体はできますので、とりあえずここはこのままにしようと思います。

先日別のスレッドでクロ様よりのURLにあった本を頼み、届きましたので
遅まきながら盆休みに勉強をしようと思っています。
・ツリー全体表示

【8376】Re:プロセスを完了するには
発言  小僧  - 06/7/31(月) 11:56 -

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

業務が忙しくなかなかレスが付けられなくてすみません。

> でも、だからといってこのフォームが非連結、というわけではないのですよね

連結フォームというのは、
通常はフォームのレコードソースが指定されているものをそう呼びますね。

フォーム上に配置されたテキストボックスやコンボボックスの
コントロールソースを指定すると、
特にコードを組むことなく値がテーブルに反映されます。

連結フォームで値を変更している最中(Dirty状態ですね)に
AfterUpdateなどのイベント処理でレコードソースと同じテーブルに
更新を掛けに行くと、

> 現在ほかのユーザまたはプロセスで使用されているので…

のエラーが発生する事が多々あります。

今回はそれに該当するかはちょっと状況が掴みづらいので解りませんが、
更新後処理の1行目に

DoCmd.RunCommand acCmdSaveRecord

と明示的にレコードを保存する事で回避できる場合もあります。
・ツリー全体表示

【8375】Re:再クエリ前の処理の仕方
お礼  超初心者  - 06/7/31(月) 10:45 -

引用なし
パスワード
   ▼よろずや さん:
>保存が必要かどうかは、Dirty プロパティ で分かります。
>
>保存は、DoCmd.RunCommand acCmdSaveRecord でできます。


返信ありがとうございました。
解決いたしました。
・ツリー全体表示

【8374】Re:再クエリ前の処理の仕方
回答  よろずや  - 06/7/29(土) 22:15 -

引用なし
パスワード
   保存が必要かどうかは、Dirty プロパティ で分かります。

保存は、DoCmd.RunCommand acCmdSaveRecord でできます。
・ツリー全体表示

【8373】再クエリ前の処理の仕方
質問  超初心者  - 06/7/29(土) 18:40 -

引用なし
パスワード
   あるボタンをクリックした時に再クエリするようにしたのですが
文字入力の未決定(変換待機)状態でボタンをおしたら
カレントフィールドを保存してくださいと出たのですが
グーグルの検索ボタンのようにボタンを押したら未決定状態でも
勝手に決定してくれる方法(コード)はありませんか?
多分そうすればこのエラーを回避できるとおもうので。。。
よろしくお願いします。

過去ログ見ましたが、参考にはなりませんでしたので、、
・ツリー全体表示

【8372】Re:印刷後のチェックの付け方について・・
回答  よろずや  - 06/7/29(土) 18:32 -

引用なし
パスワード
   UPDATEすればできます。

しかし、印刷できたかどうかはどうやって判定しますか?

印刷処理は正常終了したけど裏紙だったから捨てたとか、
世の中には落とし穴が沢山ありますので。
・ツリー全体表示

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