Access VBA質問箱 IV

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

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


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

【5661】Re:ACCESSのデータのWord差込
発言  小僧  - 05/7/22(金) 9:47 -

引用なし
パスワード
   ▼たけの さん:
おはようございます。
当方、WordVBA の知識がないのでこのへんまでしかできませんが…。

Sub ワードを起動して()
Dim wdApp As New Word.Application
Dim wdDoc As Word.Document
Dim wdName As String
  wdName = "C:\Test.DOC"
  
  wdApp.Visible = True
  Set wdDoc = wdApp.Documents.Open(wdName)
    wdDoc.Range(1, 1).Text = "差込"
 
  Set wdDoc = Nothing
  Set wdApp = Nothing
End Sub

「wdDoc.Range(1, 1).Text = "差込"」の辺りの操作はWordVBAを使う事になります。
たけのさんが希望する位置に指定の文字を挿入されたい場合は
Wordの「マクロを記録」の機能でVBAのコードを分析されてみてはいかがでしょうか。
・ツリー全体表示

【5660】ACCESSのデータのWord差込
質問  たけの  - 05/7/21(木) 17:54 -

引用なし
パスワード
   ACCESSのフォームより、コマンドボタンを押下後に
該当データをWORDに差込み、自動に起動するように
プログラムを作成したいのですが、うまくいきません。
何か良い方法はないでしょうか?
・ツリー全体表示

【5659】Re:クエリーで入金の消しこみ
回答  てっちゃん  - 05/7/21(木) 14:17 -

引用なし
パスワード
   >T売上7月、T売上7月と作成したほうがいいですか?
ん? T売上6月、T売上7月ってことかな?

>それともT売上、T入金として、随時追加していったほうがいいですか?
>私はT売上、T入金のほうがいいような気がするんですが、
一般的には、こちらの方法が良いと言われていますし、
今回の場合も、このようにした方が良いでしょう。

>その場合、どうやって、追加すればよいのでしょう?
>やはり、データはエクセルからインポートする予定です。
一度、「T_売上_仮」テーブルにインポートし、
そのテーブルを追加クエリーにて追加していけば良いでしょう。
・ツリー全体表示

【5658】検索フォームについて
質問  ゆう  - 05/7/21(木) 10:50 -

引用なし
パスワード
   こんにちは!!
教えて下さい!!

図書館検索フォームを作りたいです。

まず、テーブルに

書籍番号  書籍名    グループ
11001100  あいう     料理
11002200  かきく     絵本
11003300  さしす     物語
11004400  殺人事件    ミステリー
11005500  3分クッキング 料理

書籍番号に主キー設定

この後、本当は、フォームで
書籍番号  書籍名  グループに対して、
どれで検索しても結果が表示されるように作りたいです。
検索結果は、サブフォームに表示させたいです。
書籍番号だけ入れても、検索されて、書籍番号と書籍名
を入力しても検索され・・・というのを作りたいのですが、
テーブルまで作って、止まってしまいました。
どうすればよいか教えて下さい!!
お願いします!!
・ツリー全体表示

【5657】Re:追記
回答  たん  - 05/7/21(木) 10:30 -

引用なし
パスワード
   >>例えばA、B、C、Dという名前の各列があった場合、
>>D列にはA+B+Cの合計を表示させたいのですが。。。
>テーブルはデータを保存する為の場所であって、計算させるための場所では
>ないのでムリです。

計算によって得られる情報はテーブルに保管しないというのが
データベースの考えの基本です。

計算で得た値を手動で変更する可能性が生じるのであれば、保存用の
フィールドを用意する意味があるかもしれませんが、
手動で変更するくらいなら、D列は差分を入力する形にさせて計算させ
る方がデータベース的にはスマートです。

# 手動変更の際、差分を受取るのか、差分処理した後の値を受取るのか
# という運用上での都合で用意すべきフィールドの内容が異なります。
・ツリー全体表示

【5656】Re:テーブル内での計算
回答  たん  - 05/7/21(木) 10:20 -

引用なし
パスワード
   >テーブル内で計算をさせたいのですが、クエリを使うしかないのでしょうか。
>例えばA、B、C、Dという名前の各列があった場合、
>D列にはA+B+Cの合計を表示させたいのですが。。。

テーブルはデータを保存する為の場所であって、計算させるための場所では
ないのでムリです。

クエリを使ってください。
・ツリー全体表示

【5655】テーブル内での計算
質問  大井  - 05/7/20(水) 16:18 -

引用なし
パスワード
   テーブル内で計算をさせたいのですが、クエリを使うしかないのでしょうか。
例えばA、B、C、Dという名前の各列があった場合、
D列にはA+B+Cの合計を表示させたいのですが。。。
よろしくお願いします。
・ツリー全体表示

【5654】Re:テーブルの並び替え
お礼  mak  - 05/7/20(水) 16:12 -

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

本当に感謝です。

レポート形式で表示するように変更します。
いろいろ無理を言って申し訳ありませんでした。また分からない事があった
ときはお願いします。
ありがとうございました。

>▼mak さん:
>こんにちは。
>
>Webで色々探したのですが。
>
>http://www.accessclub.jp/bbs2/0063/beginter20642.html
>
>Ac2002(SP3)ですと表示されているのですが、
>Ac2000だと非表示になってしまうようですね。
>表示させるにはDAOを使うしかないようです。
>
>>また、このクエリーを削除するには"collection.delete"を使用できますか。
>
>普通に
>
>  DoCmd.DeleteObject acQuery, "Q_Test"
>
>ですと消えてくれないでしょうか。
>
>※この記事を見ながら投稿の時間の下にある「返信」ボタンで返信ができます。
・ツリー全体表示

【5653】Re:封筒の宛名に連続番号打ち出しがしたい...
質問  mako  - 05/7/20(水) 15:49 -

引用なし
パスワード
   ゆうこたんさん、お返事ありがとうございました。

でも、実は私のあまりのレベルの低さに、金曜日から今日まで
考えたり教えていただいた事を調べたりていたのですが
ほとんどがわかりませんでした。本当にすみません。
1日考えても1歩くらいしか進まないので、教えていただいた内容について
ルール違反かもしれませんがもっと質問させて下さい。すみません。

>そのワークテーブルを元にしたレポートを作ります。
>テキストボックスをつくり、プロパティを開きます。
>[データ]タブの[コントロールソース]に「=1」と入れます。
>同じタブの下のほうにある[集計実行]を「全体」にします。
>[書式]タブの[書式]に「000000000」と入れます
後先になりますが、この部分は手入力で作ったテーブルを使って
試したらできました。
。。。教えていただいたことを丸写ししただけなのですが。。。

>ワークテーブル(一時的にデータを入れておくためのテーブル)を
>作りましょう。
ここからの6行をまず理解するのに1日かかってしまったんです。
ワークテーブルっていうテーブルがあるのかと思ったのですが、
普通のテーブルをワーク用に使うってことなのかなと理解しました。
ゆうこたんさんの目玉が飛び出ているのが想像できます。。。

>フォームで枚数を入れてOKボタンを押したら、ワークテーブルにデータが
>あってもなくても削除するようにしましょう。
これは、テキストボックスでOKボタンを作って、そのテキストボックスの
更新後処理のイベントプロシージャに何か文を考えて入れておかないと
いけないってことだと考えたのですが。。。。その文がわからなかったです。

>削除した後、ワークテーブルに指定した件数のデータが入るようにしましょう。
>(20枚としたら製品の名前が20回入るというのがいいかもしれません)
これも、何か文を書くのだと理解したのですが。。。
その文もわかりませんでした。

それから、枚数を指定した時に製造番号の始まりの番号を
指定したいのですが、それはできますか?

せっかく自分でがんばれるようにとアドバイスをいただいたのに
本当に申し訳なく思っています。
どうか、よろしくお願いいたします。
・ツリー全体表示

【5652】Re:テーブルの並び替え
回答  小僧  - 05/7/20(水) 15:15 -

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

Webで色々探したのですが。

http://www.accessclub.jp/bbs2/0063/beginter20642.html

Ac2002(SP3)ですと表示されているのですが、
Ac2000だと非表示になってしまうようですね。
表示させるにはDAOを使うしかないようです。

>また、このクエリーを削除するには"collection.delete"を使用できますか。

普通に

  DoCmd.DeleteObject acQuery, "Q_Test"

ですと消えてくれないでしょうか。

※この記事を見ながら投稿の時間の下にある「返信」ボタンで返信ができます。
・ツリー全体表示

【5651】Re:集計にて
お礼  まるこ E-MAIL  - 05/7/20(水) 14:48 -

引用なし
パスワード
   ▼小僧 さん:
ありがとうございました。

違うパソコンで表示しましたら出来ていました。

色々お教えいただきましてありがとうございました。

たんさん、てっちゃんさん ありがとうございました。

小僧さん 本当にありがとうございました。
・ツリー全体表示

【5650】テーブルの並び替え
お礼  mak  - 05/7/20(水) 14:44 -

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

早速のご返事ありがとうございます。
次のように書き換えてやってみたのですが、オブジェクトが見当たらないとの
エラーが出たのでクエリーボックスを見たのですが名前がありません。
再度実行しようとすると、既にオブジェクトが存在しますと出てしまいます。
問題がもし分かればお教えください。
また、このクエリーを削除するには"collection.delete"を使用できますか。
まだまだ初心者なものであつかましいお願いをしますが、よろしくおねがいし
ます。

Sub クエリで結果表示()
Dim mySQL As String
Dim cat As New ADOX.Catalog
Dim cn As New ADODB.Connection
Dim com As New ADODB.Command

  mySQL = "SELECT * FROM 販売機別 ORDER BY 店舗名 ASC"
 
  Set cn = CurrentProject.Connection
  
  cat.ActiveConnection = cn
  com.CommandText = mySQL
  cat.Views.Append "Q_Test", com
 
  cn.Close: Set cn = Nothing
  Set com = Nothing
  Set cat = Nothing
  DoCmd.OpenQuery "Q_Test"

End Sub

何度ももうしわけありません。
・ツリー全体表示

【5649】Re:集計にて
回答  小僧  - 05/7/20(水) 14:10 -

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

>コード 名 F1 F2 F3 F4
>
>3403 10月 7  14  21
>4403 11月 4  11  18  25

の様になるSQLを組んだつもりです…。↑の方で提示させて頂きましたが、

>>上の結果もだめでしたら、
>>クエリを貼り付ける → クエリデザイン → クエリの種類 → 選択クエリ → データシートビュー
>>
>>で「式1」のフィールドに「F1」、「F2」等のデータが入るかを
>>確認してみて下さい。

を確認して頂けますでしょうか。
・ツリー全体表示

【5648】Re:クエリーで入金の消しこみ
質問    - 05/7/20(水) 13:15 -

引用なし
パスワード
   ありがとうございます。
がんばります。
といいながら、また質問させてください。
上記のアクセスのデータを追加したいのです。
6月のデータに7月のデータを追加する場合、
T売上7月、T売上7月と作成したほうがいいですか?
それともT売上、T入金として、」随時追加していったほうがいいですか?
私はT売上、T入金のほうがいいような気がするんですが、
その場合、どうやって、追加すればよいのでしょう?
やはり、データはエクセルからインポートする予定です。
どうか、よろしくお願いします。
・ツリー全体表示

【5647】Re:集計にて
質問  まるこ  - 05/7/20(水) 12:29 -

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

ありがとうございます。
クロス集計で下記のように出るようになりました。

コード 月名 F1 F2 F3 F4

3403 10月        21
4403 11月        18

コードに対してFの該当日が1ヶ所しかでません。
F1 F2の 該当日のところが出てこないのはどこか他を変更しなければならないでしょか。
(こういうふうにしたいのですが)
コード 月名 F1 F2 F3 F4

3403 10月 7   14   21
4403 11月 4   11   18 25

何度もすみません、よろしくお願い致します。
・ツリー全体表示

【5646】Re:テーブルの並び替え
回答  小僧  - 05/7/20(水) 11:13 -

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

>試した中の1例を記入します。
>
>   mySQL = "SELECT * FROM 販売機別 ORDER BY 店舗名 ASC"
>   
>   Set cn = CurrentProject.Connection
>
>   com.ActiveConnection = cn
>   com.CommandText = mySQL
>   com.Execute
>
>よろしくおねがいします。

変数:mySQL の中身がアクションクエリでしたらこのコードで実行されると思われますが、
選択クエリなので結果をどう返すかが必要になってくると思われます。

「SELECT」したものを表示させたいのであれば、
普通はレコードセットに格納してフォームやレポートに表示させます。

余り汎用的な使い方ではありませんが、クエリを作成するのも手です。

Sub クエリで結果表示()
Dim mySQL As String
Dim cat As Object
Dim cn As ADODB.Connection
Dim com As New ADODB.Command

  Set cat = CreateObject("ADOX.Catalog")
  Set cn = CurrentProject.Connection
   
  mySQL = "SELECT * FROM 販売機別 ORDER BY 店舗名 ASC"
  
  cat.ActiveConnection = cn
  com.CommandText = mySQL
  cat.Views.Append "Q_Test", com
   
  cn.Close: Set cn = Nothing
  Set com = Nothing
  Set cat = Nothing
  DoCmd.OpenQuery "Q_Test"
  
End Sub

CreateObject("ADOX.Catalog") としてますが、
ADOXを参照設定すると、コードが書きやすくなると思われます。
・ツリー全体表示

【5645】テーブルの並び替え
質問  mak  - 05/7/20(水) 9:53 -

引用なし
パスワード
   初めて投稿します。
SQLでテーブルのレコードを並べ替えて表示したいのですが、うまくいきません。
色々探してみたのですが分かりませんでした。分かりましたらお教えください。
試した中の1例を記入します。

   mySQL = "SELECT * FROM 販売機別 ORDER BY 店舗名 ASC"
   
   Set cn = CurrentProject.Connection

   com.ActiveConnection = cn
   com.CommandText = mySQL
   com.Execute

よろしくおねがいします。
・ツリー全体表示

【5644】Re:集計にて
発言  小僧  - 05/7/20(水) 9:16 -

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

>クエリ式’[日] <=#2005/10/4# AND Month([日]) =10AND
>     T_aaa.コード =1234' の構文エラー:演算子がありません。
>
>と表示されてしまいました。

こちらでは再現されないのですが…。

スペースに全角が使われてたりするとこのエラーが出るので、
もう一度確認してみてください。
・ツリー全体表示

【5643】Re:集計にて
質問  まるこ  - 05/7/19(火) 21:11 -

引用なし
パスワード
   ▼小僧 さん:
こんばんは
何度もすみません。
教えていただいたとおりコピーしてみましたが

クエリ式’[日] <=#2005/10/4# AND Month([日]) =10AND
     T_aaa.コード =1234' の構文エラー:演算子がありません。

と表示されてしまいました。

何度もすみませんがもう一度お教え願えませんでしょうか。
お願いいたします。
・ツリー全体表示

【5642】Re:集計にて
回答  小僧  - 05/7/19(火) 16:01 -

引用なし
パスワード
   ▼まるこ さん:
こんにちは。
コードもグループ化対象にするのを忘れていました。

TRANSFORM Max(Day([日])) AS 日数
SELECT T_aaa.コード, Month([日]) & '月' AS 月名
FROM T_aaa
GROUP BY T_aaa.コード, Month([日]) & '月'
ORDER BY Month([日]) & '月'
PIVOT "F" & DCount("*","T_aaa","[日] <=#" & T_aaa.日 & "# AND
      Month([日]) = " & Month(T_aaa.日) & " AND
      T_aaa.コード = " & [コード])
In ("F1","F2","F3","F4");


>上記のとおりでてきましたがFのところに日数が出ず
>空白になっています。

上の結果もだめでしたら、
クエリを貼り付ける → クエリデザイン → クエリの種類 → 選択クエリ → データシートビュー

で「式1」のフィールドに「F1」、「F2」等のデータが入るかを
確認してみて下さい。
・ツリー全体表示

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