Access VBA質問箱 IV

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

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


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

【9387】Re:クエリの集計方法について
回答  たん  - 07/5/11(金) 14:01 -

引用なし
パスワード
   MSの技術情報で「208190」を確認して下さい
・ツリー全体表示

【9386】クエリの集計方法について
質問  そら  - 07/5/11(金) 11:37 -

引用なし
パスワード
   クエリの集計方法を「最後」にして、グループ化したうちの最後のデータを抽出するようにしているのですが、ほとんどのデータはきちんと最後のデータが出てくるのにまれに最後ではないデータが出てきます。なぜなのでしょう?説明が難しいのですが、ぜひ回答をお願い致します!
・ツリー全体表示

【9385】Re:オープンフォームの際の新規レコード
お礼  カダワン  - 07/5/10(木) 16:30 -

引用なし
パスワード
   ありがとう、ありがとう
超助かりました!
ありがとうございました!
・ツリー全体表示

【9384】レポート出力時のプリンタ指定について
質問  SOS  - 07/5/10(木) 14:55 -

引用なし
パスワード
    レポート出力するとき、マクロのアクションには、複数のプリンタから「Adobe PDF」(通常使うプリンタではない)を選択する機能を設けたいのですが、やりかたはわからなくて、教えていただきたいです。
・ツリー全体表示

【9383】Re:テーブルの書き出しについて
お礼  ねもと  - 07/5/10(木) 14:19 -

引用なし
パスワード
   ▼まさ7251 さん:
▼まさ7251 さん:
すいません
MsgBox と、ブレークポイントで試してみます。

>> ちなみに、094 とか、094 とか、
>> 全角と半角がありますけど、どちらかに統一されているのですよね?
>これへの返答はないのでしょうか。

統一されています。
申し訳ありませんでした。
・ツリー全体表示

【9382】レポートでの種類の計上について
質問  アギト  - 07/5/10(木) 12:59 -

引用なし
パスワード
   度々お世話になります。
テーブルAを作りました。
テーブルAには「氏名」、「来店日」、「購入品」のフィールドがあります。
来店日の期間からデータ抽出をするクエリAを作り、
それを基に、フォームBでデータ抽出を行います。
フォームBでデータ抽出を行い、その結果をレポートAに反映させます。
そのレポートAの「氏名」のテキストボックスで、
何人の人が来店したかを計上したいのですが、
当然同じ人物が来店することもあるので、
「氏名」のテキストボックスのコントロールソースに、
「=Count([氏名])」と設定しても、求めたい人数を計上することが出来ません。
「氏名」の種類を計上できれば、求めたい人数を計上できると思うのですが、
どの様な方法を使えば良いのか教えて下さい。
・ツリー全体表示

【9380】Re:テーブルの書き出しについて
発言  まさ7251  - 07/5/10(木) 12:03 -

引用なし
パスワード
   ねもとさん=たけしさん でしょうか?
途中でHNを変えるのは止めていただきたいです。

>>”うまくいきません。”では、状況がよくわかりません。
>>どこかでエラーになるのでしょうか。
>
>エラーにはならずテーブルに作成できません。

では、変数”設定”の値はどうなっていましたか。
では、そもそも、この行は本当に実行されているのでしょうか。
MsgBox とか、ブレークポイントを設置するとかで試してみてください。

> ちなみに、094 とか、094 とか、
> 全角と半角がありますけど、どちらかに統一されているのですよね?
これへの返答はないのでしょうか。
・ツリー全体表示

【9379】Re:テーブルの書き出しについて
質問  たけし  - 07/5/10(木) 9:45 -

引用なし
パスワード
   ▼まさ7251 さん:
本当にありがとうございます。
>>    設定 = 部店コード(添字) & 部店名(添字)
>>    OTRs.Fields(設定) = -1・・・・・・・・・・・・・・・・・1.
>>    OTRs.Fields(設定 & "枚数") = INRsB!ページ番号・・・・・2.
>
>>上記の1.と2.の部分です。
>>T帳票テーブルにはフィールド名094本部と094本部枚数があり
>>本当は
>>OTRs.094本部 = −1
>>OTRs.094本部枚数 = INRsB!ページ番号
>>と記述するのですが
>>094本部を読込んだ部店コード(添字)と部店名(添字)で処理したいのです。
>
>”うまくいきません。”では、状況がよくわかりません。
>どこかでエラーになるのでしょうか。

エラーにはならずテーブルに作成できません。

>> OTRs.094本部 = −1
>> OTRs.094本部枚数 = INRsB!ページ番号
>とした場合、正常に動作しますか?

うまく作動します。


>数字で始まる項目名なので、
>OTRs![094本部] = -1
>のようにしないといけないかもしれませんけど。


上記の記述でも試しましたがエラーにはならずテーブルに作成できません。
・ツリー全体表示

【9378】レポートのページ算出について
質問  たけし  - 07/5/10(木) 9:37 -

引用なし
パスワード
   やりたいことはレポート数をテーブルに書き出したいのですが
下記の記述では結果が
店舗コード ページ番号
 093     0
 093     0
 093     0
 093     0
 093     0
 093     0
 093     0
 093     0
になってしまいます。
本当は下記の結果にしたいのです。
店舗コード ページ番号
 093     8
どうすればいいでしょうか?
一度結果を出しで
クエリでクループ化しページ番号をカウントすればいいのかも知れませんが
いいアドバイスをお願いします。

レポートのプロパティでページフォーマット時に

Private Sub Report_Page()
Dim Db As Database
Dim OTRs As Recordset
  
Set Db = CurrentDb
Set OTRs = Db.OpenRecordset("ページテーブル", dbOpenDynaset)
           
OTRs.AddNew
OTRs!店舗コード = "093"
OTRs!ページ番号 = Me.Pages
OTRs.Update

OTRs.Close
Db.Close

End Sub
・ツリー全体表示

【9377】Re:オープンフォームの際の新規レコード
回答  hatena  - 07/5/9(水) 23:00 -

引用なし
パスワード
   開くフォームの名前を、フォーム1 とすると、

DoCmd.OpenForm "フォーム1", acNormal, , , acNormal
DoCmd.GoToRecord acForm, "フォーム1", acNewRec
・ツリー全体表示

【9376】オープンフォームの際の新規レコード
質問  カダワン  - 07/5/9(水) 19:43 -

引用なし
パスワード
   レコードソースのあるフォームを開く際、

DoCmd.OpenForm "フォーム名", acNormal, "", "", acNormal

をどのようにしたら新規レコードで開けるのでしょうか?
自分が開く際

DoCmd.GoToRecord acForm, "自分のフォーム名", acNewRec

は分かるのですが、他からコントロールしたいのです。

宜しく願いします。
・ツリー全体表示

【9374】Re:レポートの作成について
お礼  アギト  - 07/5/9(水) 17:42 -

引用なし
パスワード
   ▼Gin_II さん
ありがとうございました。
おかげさまで解決しました。
また、よろしくお願いします。
・ツリー全体表示

【9373】Re:フォームの出力域にテーブル内の名前を...
お礼  山岸  - 07/5/9(水) 14:46 -

引用なし
パスワード
   ありがとうございます。
出来ました。

「式ビルダ」をうまく使いこなせないので
「コードビルダ」で直接、ソースコードを書いてみました。

Private Sub busyocd_LostFocus()
    
    busyomei = DLookup("[busyomei]", "tabusyo", "[busyocd] = form![busyocd]")
    
End Sub

*こんな感じで出来ましたが、不具合があればご指摘をお願いします。
・ツリー全体表示

【9372】Re:フォームの出力域にテーブル内の名前を...
発言  まさ7251  - 07/5/9(水) 12:18 -

引用なし
パスワード
   >フォームの部署コード欄にコードを入力したら、
>部署テーブルを参照して、部署名をフォームの部署名欄へ
>表示したいのですが。

DLookUp関数を使って表示できるかと思います。
ヘルプには、関数の説明、使用例なども載っているかと思います。
また、インターネット上でも検索すれば、色々な情報があります。
調べてみてください。
・ツリー全体表示

【9371】Re:テーブルの書き出しについて
発言  まさ7251  - 07/5/9(水) 12:16 -

引用なし
パスワード
   >    設定 = 部店コード(添字) & 部店名(添字)
>    OTRs.Fields(設定) = -1・・・・・・・・・・・・・・・・・1.
>    OTRs.Fields(設定 & "枚数") = INRsB!ページ番号・・・・・2.

>上記の1.と2.の部分です。
>T帳票テーブルにはフィールド名094本部と094本部枚数があり
>本当は
>OTRs.094本部 = −1
>OTRs.094本部枚数 = INRsB!ページ番号
>と記述するのですが
>094本部を読込んだ部店コード(添字)と部店名(添字)で処理したいのです。

”うまくいきません。”では、状況がよくわかりません。
どこかでエラーになるのでしょうか。
エラーになるのなら、どこで、どのようなエラーなのでしょうか。
また、その行に関係する変数の値はどうなっていますか。

エラーにならないということなら、どのような状況なのでしょうか。
思ったように更新されないということでしょうか。

ちなみに、094 とか、094 とか、
全角と半角がありますけど、どちらかに統一されているのですよね?

仮に、
> OTRs.094本部 = −1
> OTRs.094本部枚数 = INRsB!ページ番号
とした場合、正常に動作しますか?

数字で始まる項目名なので、
OTRs![094本部] = -1
のようにしないといけないかもしれませんけど。
(数字で始まるようなフィールド名はつけないほうが無難ですよ。)
・ツリー全体表示

【9370】フォームの出力域にテーブル内の名前を表...
質問  山岸  - 07/5/9(水) 11:46 -

引用なし
パスワード
   よろしくお願いします。

フォームの部署コード欄にコードを入力したら、
部署テーブルを参照して、部署名をフォームの部署名欄へ
表示したいのですが。

まったくの初心者です。
よろしくお願いします。
・ツリー全体表示

【9369】Re:テーブルの書き出しについて
質問  ねもと  - 07/5/9(水) 8:55 -

引用なし
パスワード
   ▼まさ7251 さん:
返答ありがとうございます。
Public Function T送付書各部店用()
Dim Db As Database
Dim INRsA As Recordset
Dim INRsB As Recordset
Dim OTRs As Recordset
Dim 読込A As String
Dim 読込B As String
Dim 添字 As Double
Dim 最終添字 As Double
Dim 部店コード(40) As String
Dim 部店名(40) As String
Dim 店舗コード As String
Dim 設定 As String

Set Db = CurrentDb
  
読込A = "T部店名"
読込B = "ページテーブル"

Set INRsA = Db.OpenRecordset(読込A, dbOpenDynaset)
Set INRsB = Db.OpenRecordset(読込B, dbOpenDynaset)
Set OTRs = Db.OpenRecordset("T帳票テーブル(ACCESS)", dbOpenDynaset)

添字 = 0

Do Until INRsA.EOF

添字 = 添字 + 1
部店コード(添字) = INRsA!部店コード
部店名(添字) = INRsA!部店名

INRsA.MoveNext
Loop

最終添字 = 添字
  
'共通項目出力
OTRs.AddNew
OTRs!帳票名 = ""
OTRs!日付 = Date
OTRs!媒体種類 = "紙"
OTRs!返却有無 = "不要"
  
Do Until INRsB.EOF

添字 = 0

'本部店舗番号設定
 If INRsB!店舗コード = "090" Then
   店舗コード = "094"
 Else
   店舗コード = INRsB!店舗コード
 End If

 Do Until 最終添字 = 添字
   添字 = 添字 + 1
   If 店舗コード = 部店コード(添字) Then
    設定 = 部店コード(添字) & 部店名(添字)
    OTRs.Fields(設定) = -1・・・・・・・・・・・・・・・・・1.
    OTRs.Fields(設定 & "枚数") = INRsB!ページ番号・・・・・2.
   End If
 Loop

INRsB.MoveNext
Loop
               
OTRs.Update

INRsA.Close
INRsB.Close
OTRs.Close
Db.Close

End Function

上記の1.と2.の部分です。
T帳票テーブルにはフィールド名094本部と094本部枚数があり
本当は
OTRs.094本部 = −1
OTRs.094本部枚数 = INRsB!ページ番号
と記述するのですが
094本部を読込んだ部店コード(添字)と部店名(添字)で処理したいのです。

rs("社員番号" & 番号) = "優秀
の記述でのうまくいきません。
よろしくお願いします。
・ツリー全体表示

【9368】Re:テーブルの書き出しについて
発言  まさ7251  - 07/5/8(火) 22:47 -

引用なし
パスワード
   ▼ねもと さん:
>テーブルに通常値をいれる場合
>テーブルAにフィールド名 社員番号00001の時
>社員番号000001 = "優秀"

これだけだと、変数あるいはコントロールに値をセットしている
だけですよね。具体的にどうやって書いているのでしょうか。

>と記述しているのですが 
>テーブルBにフィールド名 番号があり
>番号には00001の値が入っています。
>そのとき
>社員番号 & 番号 =  "優秀"
>にして
>テーブルAにフィールド名 社員番号00001に優秀を入力したいのです。
>上記の書き方だとコンパイルエラーになります。

例えば、
Dim rs As Recordset と宣言されていて、Recordset上へセットしたいのなら、
rs("社員番号" & 番号) = "優秀"
・ツリー全体表示

【9367】テーブルの書き出しについて
質問  ねもと  - 07/5/8(火) 14:19 -

引用なし
パスワード
   テーブルに通常値をいれる場合
テーブルAにフィールド名 社員番号00001の時
社員番号000001 = "優秀"
と記述しているのですが 
テーブルBにフィールド名 番号があり
番号には00001の値が入っています。
そのとき
社員番号 & 番号 =  "優秀"
にして
テーブルAにフィールド名 社員番号00001に優秀を入力したいのです。
上記の書き方だとコンパイルエラーになります。
どのようにしてフィールド名を作成してテーブルに値を入力することはできるのでしょうか?
どうか教えてください。
よろしくお願いします
・ツリー全体表示

【9366】Re:フォームを使った集計値の表示について
お礼  pinetree  - 07/5/7(月) 14:41 -

引用なし
パスワード
   ▼hatena さん:
>>Form-A、Form-B を同時に開いて同一画面で、それぞれのフォームを
>>重ならない位置で固定サイズで固定位置に表示させたいのですが、
>>どうすればよいのでしょうか
>
>Form-A が単票フォームなら、FormA に Form-B を
>サブフォームに埋め込むのが簡単ですね。
>両方とも帳票フォームなら、別に非連結のフォームを成して、
>そこにForm-A、Form-Bをサブフォームとして埋め込んでもいいですね。
>
>独立したフォームでするなら、Docmd.MoveSize か、Move メソッドで
>位置とサイズを設定することになりますね。

早速ご教示いただきありがとうございました。
うまくいきました。
より使いやすいシステムにすることができそうです。
・ツリー全体表示

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