Access VBA質問箱 IV

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

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


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

【10523】エクセルを起動して、テンプレートを読み...
質問  RabiRabi  - 08/8/21(木) 21:08 -

引用なし
パスワード
   AccessVBAから以下のことがしたいのですが、どういう記述になるのでしょう?
すいません、よろしくお願いします。

1.エクセルを起動する(これはわかります)
2.特定のテンプレートをエクセルに読み込む。
3.CSVファイルの内容を2のシートに書き込む。
・ツリー全体表示

【10522】時間の集計
質問  まつ  - 08/8/21(木) 18:04 -

引用なし
パスワード
   はじめまして、アクセス初心者なのですが、教えてください。
現在設備の稼動管理をアクセス2003で作っているのですが。

稼働率を集計するのに、1ロットの生産時間を算出するのに
ロット開始の年月日と時刻を記入し、ロットが終了した年月日
と時刻を記入してもらうとして。

ロットの開始から終了までの時間データを分で取得したいと考えてます。
生産は24時間稼動しているので、日またぎや数日間動くときもあります。
以上よろしくお願いします。
・ツリー全体表示

【10519】Re:こういった日付抽出ってできるのでし...
お礼  AAA  - 08/8/20(水) 5:53 -

引用なし
パスワード
   −するのはわかったんですが、なかなかうまくいかなかったんで・・・

何回も質問に回答頂きありがとうございました。
・ツリー全体表示

【10518】Re:こういった日付抽出ってできるのでし...
回答  hatena  - 08/8/19(火) 22:03 -

引用なし
パスワード
   ▼AAA さん:
>>=DateSerial(Year(Date()),Month(Date()),1) And <DateSerial(Year(Date()),Month(Date())+1,1)でやってみたんですが、今月のものが抽出されてしまいました。
>前月分のデータを抽出する事はできないのでしょうか?

あっ、前月でしたね。
式の意味を理解すれば、簡単に修正できると思いますが、、、、

>=DateSerial(Year(Date()),Month(Date())-1,1) And <DateSerial(Year(Date()),Month(Date()),1)
・ツリー全体表示

【10517】こういった日付抽出ってできるのでしょう...
発言  AAA  - 08/8/19(火) 20:40 -

引用なし
パスワード
   >=DateSerial(Year(Date()),Month(Date()),1) And <DateSerial(Year(Date()),Month(Date())+1,1)でやってみたんですが、今月のものが抽出されてしまいました。
前月分のデータを抽出する事はできないのでしょうか?

何回も質問してすいませんがよろしくお願いします。
・ツリー全体表示

【10516】Re:こういった日付抽出ってできるのでし...
お礼  hatena  - 08/8/18(月) 23:44 -

引用なし
パスワード
   抽出条件を

Like Format(Date(),"yyyy/mm/\*")

フィールドのデータ型が日付/時刻型なら、
下記の式の方が高速です。

>=DateSerial(Year(Date()),Month(Date()),1) And <DateSerial(Year(Date()),Month(Date())+1,1)
・ツリー全体表示

【10515】こういった日付抽出ってできるのでしょう...
質問  AAA  - 08/8/18(月) 22:00 -

引用なし
パスワード
   はじめまして。アクセス初心者です。分かれば回答よろしくお願いします。

機械の修理依頼&結果をアクセスで管理しています。


T履歴録(設備)に、修理依頼の内容を入力しています。
(下記の感じに…一部省略してます)

機械コード 現象  依頼日  予定日   開始日   終了日   修理内容
A-00   *** 2008/07/03 2008/07/04 2008/07/03 2008/07/03  ***
B-00   *** 2008/07/30 2008/07/31 2008/07/31 2008/07/31  ***
C-00   *** 2008/07/15 2008/07/20 2008/07/15 2008/07/16  ***
D-00   *** 2008/07/21 2008/07/25 2008/07/26 2008/07/29  ***

月が終わるごとに依頼日で7/1〜7/31までのものを抽出したい(翌月の月初辺りに抽処理を行う)んですが、クエリで依頼日のデータの抽出条件にLike "2008/07/**"と、とりあえずは自分でやってみたんですが、月が変わるとまた抽出条件のところをLike "2008/08/**"と変えないといけません。
抽出条件のところを毎回変えず8月(処理月)なら前月(7月)、9月(処理月)なら前月(8月)のデータだけを自動的に抽出出来るような抽出方法ってありますか?

説明がうまく出来ないんですが、分かる方がおられましたら回答の方よろしくお願いします。
・ツリー全体表示

【10514】Re:コンボボックスのdefaultvalueを変更...
回答  YU-TANG  - 08/8/18(月) 1:08 -

引用なし
パスワード
   こんばんは、YU-TANG です。

▼ここ さん:
>連結列が2列のとき、どのような記述になるのでしょうか?

連結列が「1」の場合とまったく同じです。
連結列の設定値はインデックスを指しているだけなので、
別に「2」が設定されているからといって、2つの列に
連結されているわけではありません。2番目の列に連結
されている、というだけの話です。
DefaultValue の設定の仕方には、まったく何の違いも
発生しません。

何か問題が発生しているなら、具体的に説明すれば、
具体的な回答が付きやすいと思います。

それでは。
・ツリー全体表示

【10513】Re:個人用マクロブックのマクロを実行し...
回答  YU-TANG  - 08/8/18(月) 1:03 -

引用なし
パスワード
   こんばんは、YU-TANG です。

▼みみ さん:
>AccessからExcelのpersonal(個人用マクロブック)マクロを実行
>させたいのですが、「・・マクロ名が見つかりません」と表示され実行できません。
>
>以下コードです。

コードを拝見しましたが、どこにも個人用マクロブックを
Open している箇所が見当たらないようですが。

個人用マクロブックのマクロを実行したいのであれば、
個人用マクロブックを事前に開いておかないと参照
できません。

ちなみに CreateObject() ではなく GetObject() を使えば
暗黙的に個人用マクロブックをロードしてくれますが、
その代わりホスト PC の設定によってはマクロのセキュリティ
アラートが上がったりする(要するに、ユーザが手動でファイル
をダブルクリックして開いた場合とほぼ同じ挙動になる)ので、
要件仕様によっては使い物にならない可能性があります。
それで問題ない場合は、それでもいいでしょう。

それでは。
・ツリー全体表示

【10512】Re:リレーションシップしていないテーブ...
発言  小僧  - 08/8/13(水) 14:57 -

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

> テーブル(A)のレコード削除処理をすると、
> リレーションシップしていないテーブル(B)のレコードまで
> 削除されてしまいます。

普通はそんな事はありえませんね。


>AとBはレコードソース内で結合していますが、

この辺がちょっと解りづらいのですが

テーブルA と テーブルB を結合させたクエリを
レコードソースに持つフォーム上において
レコードを削除すると テーブルB のレコードも削除される、
という様な事でしたら
場合によっては Accessの仕様上何もおかしくない事になりますね。


> テーブル(A)のレコード削除処理をすると、

というのがどういった方法で行っているのかを
明確にされると、もっと回答がつきやすくなるかと思われます。
・ツリー全体表示

【10511】Re:×ボタン等を非表示にしたい
回答  小僧  - 08/8/13(水) 14:52 -

引用なし
パスワード
   ▼RabiRabi さん、かみちゃん さん:
こんにちは。


> VBAで指定したかったのですが、
> CloseButtonをフォームのオープンイベントで指定したらエラーになった


ヘルプは読まれましたか?

> "CloseButton/閉じるボタン" プロパティは、
> フォームのデザイン ビューでのみ設定できます。

VBA で設定するとなると、

・一度デザインビューで開く
・設定を変更
・保存して閉じる
・再度開きなおし

という様な感じになると思いますが、
当然お勧めできるようなものではありません。

条件によって閉じるボタンの可視/不可視を切り替えたいというのでなければ

> とりあえずはプロパティで「いいえ」にします。

というのが一般的だと思われますね。
・ツリー全体表示

【10510】Re:×ボタン等を非表示にしたい
お礼  RabiRabi  - 08/8/11(月) 13:06 -

引用なし
パスワード
   ▼かみちゃん さん:
>こんにちは。かみちゃん です。
>
>>FORMを開く際に、×ボタン等を非表示にするには
>
>「閉じるボタン」プロパティを「いいえ」にすることでできませんか?
>http://office.microsoft.com/ja-jp/access/HP051879281041.aspx


VBAで指定したかったのですが、CloseButtonをフォームのオープンイベントで指定したらエラーになったので、とりあえずはプロパティで「いいえ」にします。
どうもありがとうございました。m(_ _)m
・ツリー全体表示

【10509】Re:クエリを特定Bookの特定シートの特定...
発言  かみちゃん  - 08/8/11(月) 12:52 -

引用なし
パスワード
   こんにちは。かみちゃん です。

> コピーしたいクエリはいっぱいあって処理が軽減できればと思ってます。
>(検索してみたのですが、似たようなのが見つからず・・・)

DAOを使った方法ですが、CopyFromRecordsetメソッドを調べてみてください。
「Excel△VBA△CopyFromRecordset」(△は半角スペース)で検索するといろいろ
見つかると思います。

>クエリのデータの部分だけを
>Excelの特定Bookの特定シートの特定セルへコピーしたいのです。

おおむね、以下のようなコードをExcelに記述します。

Sub Sample1()
 'Microsoft DAO 3.X Object Library 参照設定
 Dim myCurDb  As Database
 Dim myCurRset As Recordset
 
 'Accessファイルのフルパスを指定する
 Set myCurDb = OpenDatabase("C:\Documents and Settings\xxx\My Documents\db1.mdb")
 '抽出元のクエリ名を指定する
 Set myCurRset = myCurDb.OpenRecordset(myCurDb.QueryDefs("クエリ1").Sql)
 '最初の65000レコードをアクティブブックのアクティブシートのB3セルを左上とする範囲に抽出する
 Range("B3").CopyFromRecordset myCurRset, 65000
 myCurRset.Close
 MsgBox "終了"
End Sub

うまくいかない場合は、できているコードわ提示してみてください。
・ツリー全体表示

【10508】Re:×ボタン等を非表示にしたい
発言  かみちゃん  - 08/8/11(月) 12:35 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>FORMを開く際に、×ボタン等を非表示にするには

「閉じるボタン」プロパティを「いいえ」にすることでできませんか?
http://office.microsoft.com/ja-jp/access/HP051879281041.aspx
・ツリー全体表示

【10507】×ボタン等を非表示にしたい
質問  RabiRabi  - 08/8/11(月) 11:15 -

引用なし
パスワード
   FORMを開く際に、×ボタン等を非表示にするには、どこに設定すればよいのでしょうか?
基本的なことですいません。
・ツリー全体表示

【10506】Re:VBAとCallBack関数
お礼  SAU  - 08/8/11(月) 10:35 -

引用なし
パスワード
   neptune さん、ありがとうございます。

教えていただいたように、いろいろ問題もあるようなので
結局、VBのソースもあることだし
ActiveX Dllの方で、サブクラス化する方法で解決させました。
いろいろとありがとうございました。
また何かありましたら、宜しくお願いします。m(__)m
・ツリー全体表示

【10505】クエリを特定Bookの特定シートの特定セル...
質問  misato  - 08/8/9(土) 3:41 -

引用なし
パスワード
   はじめまして。

コピーしたいクエリはいっぱいあって処理が軽減できればと思ってます。考えてみたのですが初心者も初心者なので、分からず質問しました。(検索してみたのですが、似たようなのが見つからず・・・)

クエリのデータの部分だけを
Excelの特定Bookの特定シートの特定セルへコピーしたいのです。
・ツリー全体表示

【10504】Re:VBAとCallBack関数
発言  neptune  - 08/8/8(金) 21:43 -

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

気になったので少し調べました。

>やりたいことは、dll(VB)を使って処理を行い、その処理の終了を待って、
>次の処理をしたいのですが、うまくできません。
>(処理の終了は、WindowProcのパラメータの値をチッェクすることで認識できます)
確認ですが、Access内のFormにSendMessageでlpalamでTrueを送っているんですか?

音声関係は全く知らないのですが、ActiveX Dllの方で、
>ボタンを押したら、指定したデータの音を再生し、再生が終わったら次のデータの音を
>再生する...という処理を作成したいのです。(テキスト合成音です)
>WndProc()で終了を監視しないと、再生が終わらないうちに次の音声を再生してしまい、マズイのです。
の処理をした方が何かと安全と思いますが。
・再生したい音の配列を渡すとか。
・せめて、ActiveX DLLでFormをサブクラス化するとか
(現在のソースがあるからVBなら楽チンと思います。)


【参考】
[ACC2000] マウスのホイールでフォームのレコードをスクロールできないようにする方法
h tp://support.microsoft.com/kb/278379/ja

「詳細」を読んでみて下さい。一部抜粋すると
////////////////以下引用////////////////////
Microsoft Office Visual Basic Editor 読み込み後の、ウィンドウのサブクラス化には
問題があるため、マイクロソフトは、Microsoft Visual Basic または Microsoft Visual C++
を使用して ActiveX DLL を作成し、Microsoft Access アプリケーションから DLL を参照する方法
を強く推奨します。
///////////////////////引用終わり/////////////
とされており、現在の方法は問題の有るやり方を取っていると思われます。

ちなみに、Access97からの問題で、2007は知りませんが、その前のバージョンまでは同じと
考えた方がよろしいかと思います。
・ツリー全体表示

【10503】Re:フォームを読み込んだ時の制限
回答  hatena  - 08/8/8(金) 21:07 -

引用なし
パスワード
   >Private Sub Form_Load() ←フォームを読み込んだ時。
>Me.AllowAdditions = False ←レコードの追加をできなくする。
>Me.AllowDeletions = False ←レコードの削除をできなくする。
>DoCmd.SetWarnings False ←Accessからのメッセージを非表示に。
>
>フォームを読み込んだ時に即存するデータの編集をできなくする方法は
>ありますでしょうか?またその方法をご教示ください。

AllowEditsプロパティを調べてみてください。
・ツリー全体表示

【10502】Re:VBAとCallBack関数
発言  neptune  - 08/8/8(金) 16:02 -

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

>Form_Loadでサブクラス化ではなく、ボタンをクリックした時にサブクラス化も試してみたのですが、同じくWndProc()がLoopしてしまいました。
そのように書かれていますが。。。。。サブクラス解除はフォームを閉じる時
ですから。


それと、良く判らない点
・変数「終了フラグ」 は使われているんですか?
・全てのmessageでCallWindowProcを呼んでますがそれで良いんですか?
この辺りは全体像がわかってなければなんともいえないような気がします。
・ツリー全体表示

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