Access VBA質問箱 IV

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

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


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

【9261】97データを2002に変換するのに失敗しまし...
質問  ykotetsu E-MAIL  - 07/4/7(土) 10:00 -

引用なし
パスワード
   Access2002の導入に伴い、今まで使用していた97のデータを変換しようとしました。ツールから変換作業に入ったのですが、同時に他の者がこのデータを使用していましたので変換に失敗しました。現在
1.データを開くと旧バージョンと表示されます。
2.ツールから変換しようとすると変換済みです。と表示されます。
申し訳ありませんが、この状態のデータを変換する方法を教えていただけますか。
よろしくお願いします。
・ツリー全体表示

【9259】Re:AccessVBAからのバッチの呼び出しにつ...
発言  Gin_II  - 07/4/6(金) 23:24 -

引用なし
パスワード
   > CreateObject("WScript.shell").Run "C:\TEST.bat name", 1, True

変数は、引用符の外に出してやる必要があります。

CreateObject("WScript.shell").Run "C:\TEST.bat " & name, 1, True


> 格納の仕方も "file1,file2,file3,....."のようにしていきたいのですが、バッチでこのようなことは出来るのでしょうか。

これは、

> C:\TEST.bat

こちらの作りが分からなければ、回答できないと思います。
・ツリー全体表示

【9258】AccessVBAからのバッチの呼び出しについて
発言  さくら  - 07/4/6(金) 18:55 -

引用なし
パスワード
   はじめまして。
ちょくちょく参考にさせていただいておりますさくらと申します。
板違いかもしれませんが、バッチに関しては初心者ですので、教えていただけると助かります。

現在AccessVBAを用いて、ディレクトリ内のPDFファイル名を取得しています。
取得したファイル名をそのままバッチで使用したいので、VBAの変数をバッチパラメータに渡して"%1"のようにして使えないかと考えております。

バッチのcall関数を用いると、バッチ間ではパラメータの受け渡しが出来るようなのですが、VBAからバッチを呼び出すときには出来ないのでしょうか。

現在記述しているVBA内のコードは以下の通りです。


'ファイル名取得
name = Dir("D:\TEST\TEST_WK\*.pdf")
name_wk = "syokiti"

Do While name_wk <> ""
  name_wk = Dir()
  name = name & name_wk
LOOP
      
'バッチ処理
CreateObject("WScript.shell").Run "C:\TEST.bat name", 1, True


これで一応バッチは呼び出せているのですが、echoで確認したところ、%1の値には変数名"name"が入ってしまっています。


ですので、現在はバッチでディレクトリ内のファイル名を取得し、パラメータに格納しようとしているのですが、どのようにすればいいのか方法がよく分かりません。
格納の仕方も "file1,file2,file3,....."のようにしていきたいのですが、バッチでこのようなことは出来るのでしょうか。

申し訳ありませんが、ご教授いただけると幸いです。
よろしくお願いいたします。
・ツリー全体表示

【9257】Re:フォームが開いているかどうかを取得す...
お礼  K.SAKU  - 07/4/6(金) 17:17 -

引用なし
パスワード
   質問道理のすばやい解答ありがとうございます。

必要になった際に、ぜひ利用させていただきます。
・ツリー全体表示

【9256】Re:フォームが開いているかどうかを取得す...
発言  Gin_II  - 07/4/6(金) 16:14 -

引用なし
パスワード
   >フォームが開いているかどうかを取得する方法又は、

解決したようですが、一応 ^^;

Access #M041 ≪フォーム(レポート)が開いていることを確認する関数≫
http://www.nurs.or.jp/〜ppoy/access/access/acM041.html

こういった方法や、SysCmd コマンドを使った方法がありますね。
・ツリー全体表示

【9255】Re:フォームが開いているかどうかを取得す...
お礼  K.SAKU  - 07/4/6(金) 15:17 -

引用なし
パスワード
   自己解決

わざわざ親のフォームA,Cの開いているかどうかを調べなくても、
サブフォームから
「Me.Parent.Name」
で親フォーム名が取得できました。
・ツリー全体表示

【9254】フォームが開いているかどうかを取得する...
質問  K.SAKU  - 07/4/6(金) 14:23 -

引用なし
パスワード
   フォームが開いているかどうかを取得する方法又は、
下記の動作が出来るような方法を探しています。

1-1.フォームA上のサブフォームAのコマンドボタンを押したとき、フォームBを開き、フォームAを閉じる。
1-2.フォームBを閉じたとき、元のフォームAを開く。

2-1.フォームC上のサブフォームAのコマンドボタンを押したとき、フォームBを開き、フォームAを閉じる。
2-2.フォームBを閉じたとき、元のフォームCを開く。


1-1又は、2-1の時に、フォームAかフォームCどちらが開いているかを取得できれば
1-2と2-2のときに、戻り先のフォームを指定できると思ったからです。


サブフォームAとフォームBは共通のものを使っております。
・ツリー全体表示

【9253】Re:日付がNullだから?
回答  kohji  - 07/4/5(木) 13:56 -

引用なし
パスワード
   いんぱらさん こんにちは

>工完日にはNullデータがあります。
これは「T_工事台帳」の「工完日」にNullが存在するという意味ですよね?

ということであれば…
>strSQL2 = "INSERT INTO WT_工事台帳 ( 工事番号 ) " & _
>     "SELECT 工事番号 " & _
>     "FROM T_工事台帳 " & _
>     "WHERE Format([受注日],'yyyymm')<" & strA & " AND Format([工完日],'yyyymm')>=" & strA & " And Format([工完日],'yyyymm')<=" & strB & " AND 営業所コード Like '*" & VarC & "*';"

の箇所で「FROM T_工事台帳」の部分
直接テーブルを参照していますが
クエリ参照にするのもひとつの方法かと思います

「Q_工場台帳_WT_工事台帳作成用」みたいなクエリを作成して
「工完日」がNot Nullを抽出しておく

そのクエリを利用して上記のINSERT文を実行するみたいな感じにすれば
エラーが発生しないような気がするのですが…

一度 試してみてくだされ〜
・ツリー全体表示

【9252】Re:警告ダイアログ?から値を取得
回答  Gin_II  - 07/4/4(水) 22:08 -

引用なし
パスワード
   >【やりたい事】
>そこで、「いいえ」ボタン押下時に
>マクロを中止するようにしたいのですが、
>この警告ダイアログから押されたボタンを取得する方法がわかりません。

ではなく、自前でメッセージを表示し、それによって処理を分けるようにしましょう。

マクロでなら、条件を利用します。
・ツリー全体表示

【9251】警告ダイアログ?から値を取得
質問  るな  - 07/4/4(水) 18:09 -

引用なし
パスワード
   お疲れ様です。
どなたかご教授お願いします。

★Accessの警告ダイアログから押されたボタンを取得する方法がわかりません。
★どうすればよいでしょうか?

【状況】
マクロ中でテーブルDELETE*処理を行った時に、
Accessの警告ダイアログ?が表示されます。↓↓↓
(0件のレコードが指定されたテーブルから削除されます。・・・はい、いいえ)
このダイアログで「いいえ」ボタン押下すると、
DELETE処理は中止されますが、マクロ内の次の処理が流れてしまいます。

【やりたい事】
そこで、「いいえ」ボタン押下時に
マクロを中止するようにしたいのですが、
この警告ダイアログから押されたボタンを取得する方法がわかりません。

超初心者質問かもしれませんが、よろしくお願いします。
・ツリー全体表示

【9250】日付がNullだから?
質問  いんぱら  - 07/4/3(火) 18:44 -

引用なし
パスワード
   WinXP
Access2002です

受注日にはNullデータはありませんが
工完日にはNullデータがあります。

strSQL1は実行されるのですが
strSQL2は「抽出条件でデータ型が一致しません」
とのメッセージが出て実行されません。
strSQL2を追加クエリオブジェクトにして実行すると実行できるようです。
工完日にNullデータがあることからくるものかと推測しますが
デバッグ方法がわかりません。
おわかりになる方の助言をお待ちしています。


Dim strA As String  '始日
Dim strB As String  '締日
Dim VarC As Variant '営業所コード

strA = Format(DLookup("A", "WT_設定マスタ", "pk='1'"), "yyyymm")
strB = Format(DLookup("B", "WT_設定マスタ", "pk='1'"), "yyyymm")
VarC = Trim(Nz(DLookup("C", "WT_設定マスタ", "pk='1'")))

'--------------------------------------------------------
'WT_工事台帳を初期化する
'--------------------------------------------------------

Dim strSQL0 As String

strSQL0 = "DELETE WT_工事台帳.* FROM WT_工事台帳;"

DoCmd.RunSQL strSQL0

'--------------------------------------------------------
'工事番号を追加する
'--------------------------------------------------------
Dim strSQL1 As String
Dim strSQL2 As String

strSQL1 = "INSERT INTO WT_工事台帳 ( 工事番号 ) " & _
     "SELECT 工事番号 " & _
     "FROM T_工事台帳 " & _
     "WHERE Format([受注日],'yyyymm')>=" & strA & " And Format([受注日],'yyyymm')<=" & strB & " AND 営業所コード Like '*" & VarC & "*';"

strSQL2 = "INSERT INTO WT_工事台帳 ( 工事番号 ) " & _
     "SELECT 工事番号 " & _
     "FROM T_工事台帳 " & _
     "WHERE Format([受注日],'yyyymm')<" & strA & " AND Format([工完日],'yyyymm')>=" & strA & " And Format([工完日],'yyyymm')<=" & strB & " AND 営業所コード Like '*" & VarC & "*';"


DoCmd.RunSQL strSQL1
DoCmd.RunSQL strSQL2
・ツリー全体表示

【9249】レポートの枚数について教えてください。
質問  たけし  - 07/4/2(月) 11:28 -

引用なし
パスワード
   レポートで使用しているPagesをテーブルに出力することは可能なのでしょうか?
例)番号1のレポートがPages数10で改ページして
  番号2のレポートがPages数5の場合
テーブルに
番号1 10
番号2 5
としたいのですがレポートからのページ数を読込むことは可能なのでしょうか?
よろしくお願いします。
・ツリー全体表示

【9248】Re:ドラッグでレコード入れ替え
お礼  take  - 07/3/30(金) 14:57 -

引用なし
パスワード
   チャレンジしてみます。
ありがとうございます。
・ツリー全体表示

【9247】Re:ドラッグでレコード入れ替え
発言  Gin_II  - 07/3/29(木) 23:59 -

引用なし
パスワード
   > レコードをドラッグし順番を入れ替え、

Access で、ドラッグ&ドロップが実現できるかどうかは知りません。
できるとしても、難易度はかなり高いと思います。


リストボックスの活用-連動-:SampleFile035
http://www.accessclub.jp/samplefile/samplefile_35.htm

リストボックスの活用_複数選択:SampleFile191
http://www.accessclub.jp/samplefile/samplefile_191.htm


こういった方法を応用して、同じような機能を実現させるとかでは?
・ツリー全体表示

【9246】レポートの条件出力の仕方について
質問  干し柿  - 07/3/29(木) 19:34 -

引用なし
パスワード
   お世話になります。ACCESSのレポート印刷について記述が分からないことがあるので
質問させていただきました。

テーブルよりレコードを読み込んで、伝票を作成するプログラムなのですが、
条件判断によって、読んだレコードをそのまま出力したり、
次のレコードを読まないで、現在のレコードをまた印刷する、
という処理を行いたいと思っています。

 If WK_受注数 > 収容数 Then
  Me.NextRecord = False
  Me.MoveLayout = True
  Me.PrintSection = True
 Else
  Me.NextRecord = True
  Me.MoveLayout = False
  Me.PrintSection = False
 End If

If文の中が、"次のレコードを読まない場合"
Else文の中が、"現在レコードをそのまま出力して次レコードを読み込む場合"
というふうにしたいのですが、
上記の記述だとElse文の中を通る場合、帳票に出力されませんでした。
If条件の場合(次レコードを読まない)にも出力されていないレコードがあります。

記述の仕方がよく分かりませんので、
どなたかご存知の方がいらしたら、教えて頂きたいです。
(なお、レポートのプロパティ「レコードソース」にSQL文を記述してデータを取得する方法にしています。)

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

【9245】Re:データソースの選択
お礼  ケイ  - 07/3/28(水) 22:52 -

引用なし
パスワード
   ▼kohji さん:
>はじめまして ケイさん
>
>>毎回"データ ソースの選択"という画面が出るようになってしまいました。
>おそらくExcelにデータソースが存在しないのだと思います
>
>Excelを起動して
>[データ] → [外部データの取り込み] → [新しいデータベース クエリ]を選択すると[データソースの選択]画面が起動すると思います
>
>そこで<新規データソース>を登録してやれば
>出てこなくなると思うのですが…
>
>もちろん<新規データソース>名は
>ExcelVBAで参照してるデータソース名にしてください
>
>試してくださいましぃ〜

>kohji さん
早速上記の方法を試してみたところ、見事に出てこなくなりました!
ソース内の1箇所だけDB名を一部省略して書いていた(違うデータソースと見なされていた)のが原因だったと思われます。 何てわかりにくい・・--;

今回はご教授頂きありがとうございましたm(_ _)m
・ツリー全体表示

【9244】Re:ドラッグでレコード入れ替え
質問  take  - 07/3/28(水) 17:51 -

引用なし
パスワード
   ご対応ありがとうございます。
説明不足ですみません、実際にしたいことを追記します。

−追記−
ある項目(以下A)で昇順にソートされた状態のフォーム上で、
レコードをドラッグし順番を入れ替え、そのタイミングのイベントで
項目Aをソートにあうように更新したいです。
・ツリー全体表示

【9243】Re:ドラッグでレコード入れ替え
回答  Gin_II  - 07/3/28(水) 17:32 -

引用なし
パスワード
   >帳票フォーム上の複数のレコードをドラックで順番を入れ替えることできますか?

そもそもAccessでは、並び順というものはないです。
並び順を指定したいのなら、テーブルにフィールドが必要です。

特定のフィールドに対して、昇順/降順を指定する必要がありますので。
・ツリー全体表示

【9242】ドラッグでレコード入れ替え
質問  take  - 07/3/28(水) 17:12 -

引用なし
パスワード
   教えてください
帳票フォーム上の複数のレコードをドラックで順番を入れ替えることできますか?
・ツリー全体表示

【9241】Re:データソースの選択
回答  kohji  - 07/3/28(水) 14:33 -

引用なし
パスワード
   はじめまして ケイさん

>毎回"データ ソースの選択"という画面が出るようになってしまいました。
おそらくExcelにデータソースが存在しないのだと思います

Excelを起動して
[データ] → [外部データの取り込み] → [新しいデータベース クエリ]を選択すると[データソースの選択]画面が起動すると思います

そこで<新規データソース>を登録してやれば
出てこなくなると思うのですが…

もちろん<新規データソース>名は
ExcelVBAで参照してるデータソース名にしてください

試してくださいましぃ〜
・ツリー全体表示

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