Access VBA質問箱 IV

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

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


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

【4767】ありがとうございました
お礼  kazumi  - 05/3/30(水) 15:47 -

引用なし
パスワード
   おかげさまで問題のあった表示のほうは無事処理できました。
また何かあったらよろしくご指導願います。
・ツリー全体表示

【4766】Re:テープルエクスポートの件
回答  Gin_II  - 05/3/30(水) 15:06 -

引用なし
パスワード
   >Excelで、範囲名をつけました。
範囲名がつけてあると、
>するとテーブル"シート名$A31:G31"は既に存在しています。
というエラーがでると思います。

>Excelの特定sheetの特定セルへの貼付は難しいのでしょうか?
難しいというか、Accessの機能では、TransferSpreadsheet メソッドのRange 引数を
使うぐらいですね。
オートメーション機能を使えば、自由はききますね。

CopyFromRecordset
あたりをキーワードに過去ログを検索すれば、ヒットすると思います。
・ツリー全体表示

【4765】レポートの選択印刷
質問    - 05/3/30(水) 14:57 -

引用なし
パスワード
   フォームの中のサブフォームでの選択印刷について
テキスト内にA,B,Cとそれぞれ入力された時にサブフォーム内のテキストボタンをダブルクリックをしてそれぞれA,B,Cのレポートをだしたいのですが分かりません教えて下さい。
(たとえばテキストAが入力されている時は別のDのテキストをダブルクリックしてAのレポートがでるようにしたいわけです。BのときはBを・・・)
・ツリー全体表示

【4764】Re:テープルエクスポートの件
質問  takataka  - 05/3/29(火) 20:48 -

引用なし
パスワード
   返信有難うございます。
Excelで、範囲名をつけました。Excelの特定sheetの特定セルへの貼付は
難しいのでしょうか?
範囲とはテーブルの範囲でしょうか?

▼Gin_II さん:
>>するとテーブル"シート名$A31:G31"は既に存在しています。というメッセージ
>>が表れました。テーブル・クエリーにはシート名と同じ物は有りません。
>
>Excelで、範囲名をつけていませんか?
・ツリー全体表示

【4763】Re:テープルエクスポートの件
回答  Gin_II  - 05/3/29(火) 20:21 -

引用なし
パスワード
   >するとテーブル"シート名$A31:G31"は既に存在しています。というメッセージ
>が表れました。テーブル・クエリーにはシート名と同じ物は有りません。

Excelで、範囲名をつけていませんか?
・ツリー全体表示

【4762】Re:テープルエクスポートの件
質問  takataka  - 05/3/29(火) 20:19 -

引用なし
パスワード
   返信有難うございます。
"シート名!A31:G31"をフォーム上で指定して実行してみました。
するとテーブル"シート名$A31:G31"は既に存在しています。というメッセージ
が表れました。テーブル・クエリーにはシート名と同じ物は有りません。
どの様にすれば宜しいでしょうか?


▼Gin_II さん:
>>テーブルをエクセルの指定sheetの指定セルに貼り付けたいのですが
>>docomd.output で行けません。何か良い方法あったら教えて下さい。
>
>TransferSpreadsheet メソッドなら、Range 引数に、
>"シート名!A:G"
>のように指定することはできると思います。
・ツリー全体表示

【4761】Re:ディレクトリ名の取得について
お礼  VBA初心者  - 05/3/29(火) 17:41 -

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

うまくできました!
ありがとうございました!


>>ただ、フォルダ指定でキャンセルすると、
>
>  Dim f As Object
>  Set f = CreateObject("Shell.Application"). _
>  browseforfolder(0, "フォルダを選択", 0, 5)
>  If Not f Is Nothing Then
>    MsgBox f.Items.Item.Path
>  End If
>
>のように変更してみてください。
・ツリー全体表示

【4759】Re:ディレクトリ名の取得について
回答  Gin_II  - 05/3/29(火) 17:06 -

引用なし
パスワード
   >ただ、フォルダ指定でキャンセルすると、

  Dim f As Object
  Set f = CreateObject("Shell.Application"). _
  browseforfolder(0, "フォルダを選択", 0, 5)
  If Not f Is Nothing Then
    MsgBox f.Items.Item.Path
  End If

のように変更してみてください。
・ツリー全体表示

【4758】Re:ディレクトリ名の取得について
質問  VBA初心者  - 05/3/29(火) 16:59 -

引用なし
パスワード
   ▼Gin_II さん:
ありがとうございます。
自分でやってみてもできました!

ただ、フォルダ指定でキャンセルすると、withブロック変数が定義されてないといわれてしまうんですが・・・

教えて下さい!
よろしくお願いします!


>>ここで指定したフォルダを、変数に入れる方法を教えてもらえませんか?
>>なかなか上手くいかなくて・・・
>
>Debug.Print の部分を変更するだけですよ (^^ゞ
>
>変数名 = CreateObject("Shell.Application"). _
>        browseforfolder(0, _
>        "フォルダを選択してください。", &H1, &H0).Items.Item.Path
・ツリー全体表示

【4757】Re:ディレクトリ名の取得について
回答  Gin_II  - 05/3/29(火) 16:55 -

引用なし
パスワード
   >ここで指定したフォルダを、変数に入れる方法を教えてもらえませんか?
>なかなか上手くいかなくて・・・

Debug.Print の部分を変更するだけですよ (^^ゞ

変数名 = CreateObject("Shell.Application"). _
        browseforfolder(0, _
        "フォルダを選択してください。", &H1, &H0).Items.Item.Path
・ツリー全体表示

【4756】Re:ディレクトリ名の取得について
質問  VBA初心者  - 05/3/29(火) 16:42 -

引用なし
パスワード
   ▼Gin_II さん:
いつもありがとうございます。

ここで指定したフォルダを、変数に入れる方法を教えてもらえませんか?
なかなか上手くいかなくて・・・


>>ディレクトリ配下のファイルは複数のため、ひとつのファイルを
>>指定させる必要はありません。
>
>Debug.Print CreateObject("Shell.Application"). _
>        browseforfolder(0, _
>        "フォルダを選択してください。", &H1, &H0).Items.Item.Path
>
>とかでは、どうでしょうか?
・ツリー全体表示

【4755】Re:ディレクトリ名の取得について
回答  Gin_II  - 05/3/29(火) 11:55 -

引用なし
パスワード
   >ディレクトリ配下のファイルは複数のため、ひとつのファイルを
>指定させる必要はありません。

Debug.Print CreateObject("Shell.Application"). _
        browseforfolder(0, _
        "フォルダを選択してください。", &H1, &H0).Items.Item.Path

とかでは、どうでしょうか?
・ツリー全体表示

【4754】ディレクトリ名の取得について
質問  VBA初心者  - 05/3/29(火) 11:48 -

引用なし
パスワード
   こんにちは。いつもお世話になってます。

ディレクトリ名を取得する方法として、現在はGetOpenFilenameとGetCurrentdirectoryのAPIを組み合わせて使用して取得しています。(GetOpenFilenameでディレクトリ(ファイル)を指定した後にGetCurrentdirectory ・・・ 他の流用)

しかしこの方法だと、GetOpenFilenameの戻り値は、ファイルを指定しなければキャンセルも0になってしまいます。今回、ディレクトリ配下のファイルは複数のため、ひとつのファイルを指定させる必要はありません。
ということで、ディレクトリ名していだけで良いため、最適なAPIなどあれば教えてもらえないでしょうか?

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

【4753】Re:テープルエクスポートの件
回答  Gin_II  - 05/3/28(月) 21:44 -

引用なし
パスワード
   >テーブルをエクセルの指定sheetの指定セルに貼り付けたいのですが
>docomd.output で行けません。何か良い方法あったら教えて下さい。

TransferSpreadsheet メソッドなら、Range 引数に、
"シート名!A:G"
のように指定することはできると思います。
・ツリー全体表示

【4752】Re:テーブル存在確認の方法について
お礼  VBA初心者  - 05/3/28(月) 21:41 -

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

確認して、できました!

ありがとうございました。
大変助かりました。


>>この場合でも、MSysObjectsテーブルが存在しなければ、
>
>MSysObjects テーブルというのは、システムテーブルのことです。
>mdbファイルなら、必ず存在します。
>
>この場合、チェックするテーブル名は、
>xxx の部分ですね。
・ツリー全体表示

【4751】テープルエクスポートの件
質問  takataka  - 05/3/28(月) 21:32 -

引用なし
パスワード
   テーブルをエクセルの指定sheetの指定セルに貼り付けたいのですが
docomd.output で行けません。何か良い方法あったら教えて下さい。
・ツリー全体表示

【4750】Re:テーブル存在確認の方法について
回答  Gin_II  - 05/3/28(月) 20:14 -

引用なし
パスワード
   >この場合でも、MSysObjectsテーブルが存在しなければ、

MSysObjects テーブルというのは、システムテーブルのことです。
mdbファイルなら、必ず存在します。

この場合、チェックするテーブル名は、
xxx の部分ですね。
・ツリー全体表示

【4749】Re:テーブル存在確認の方法について
質問  VBA初心者  - 05/3/28(月) 20:08 -

引用なし
パスワード
   ▼Gin_II さん:
回答ありがとうございます。

この場合でも、MSysObjectsテーブルが存在しなければ、エラーになってしまいます。
( on error goto XX としているので、XXにとんでしまいます)
レコード存在チェックならば使えるんですが・・・

他になにか良い方法はないでしょうか?
教えて下さい。
よろしくお願いします。

>>テーブル存在チェックができればいちばん簡単に重複を防げると
>
>If DCount("*","MSysObjects","[Name]='xxx'") > 0 Then
>  '存在する
>End If
>
>とか。
・ツリー全体表示

【4748】Re:テーブル存在確認の方法について
回答  Gin_II  - 05/3/28(月) 17:47 -

引用なし
パスワード
   >テーブル存在チェックができればいちばん簡単に重複を防げると

If DCount("*","MSysObjects","[Name]='xxx'") > 0 Then
  '存在する
End If

とか。
・ツリー全体表示

【4747】Re:ゼロの非表示
回答  Gin_II  - 05/3/28(月) 17:46 -

引用なし
パスワード
   >ある台帳で金額がゼロの場合は非表示にしたいのですが、

テキストボックスの書式プロパティのところで F1 を押し、
ヘルプで、数値型 ⇒ カスタム書式 を確認してください。
・ツリー全体表示

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