Access VBA質問箱 IV

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

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


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

【3672】Re:SQL文の内容を変数に・・・
回答  Gin_II  - 04/10/11(月) 0:33 -

引用なし
パスワード
   >SQLのSELECT文の結果を、VBAの変数の中に入れる方法がわかりません。

GetRows メソッドとかかな?
・ツリー全体表示

【3671】Re:SQL文の内容を変数に・・・
回答  こもれび  - 04/10/10(日) 22:30 -

引用なし
パスワード
   こもれびです

SELECT文の結果とはレコードセットをさしているのでしょうか?

例)

Dim cnn as New ADODB.Connection
Dim rs as New ADODB.Recordset
Dim mySQL as String

Dim HENSU as String ' <--- 結果を入れる変数

  Set cnn = currentproject.connection

  mySQL = "select tblSample.shimei,tblSample.b,tblSample.c " _
     & "from tblSample " _
     & "where ((tblSample.age) = 30);"

  rs.open mySQL,cnn,adOpenkeyset,adLockReadonly

  HENSU = rs!shimei ' 若しくは HENSU = rs.fields("shimei").value
  
  rs.close : Set rs = Nothing
  cnn.close : Set cnn =Nothing

上の例では名簿(を想定)のテーブルから年齢が30歳の方を選択
(30歳の方が1名しか居ないということを想定)し、その方の名前
(テーブルのフィールド名:shimei)を変数:HENSUに入れています。
レコードが複数になるときは Do until 〜 loop を用いて配列に
入れることもできます。

こんなところでしょうか。

▼初心者 さん:
>SQLのSELECT文の結果を、VBAの変数の中に入れる方法がわかりません。
>(実際、テーブルの内容を操作する(insertinto文などで)方法はわかるのですが・・・)
>こちら初心者ですので、上記質問が可能かもわかりません。
>可能であれば、ぜひ教えていただきたいです。
>宜しくお願いします。
・ツリー全体表示

【3670】SQL文の内容を変数に・・・
質問  初心者  - 04/10/10(日) 21:27 -

引用なし
パスワード
   SQLのSELECT文の結果を、VBAの変数の中に入れる方法がわかりません。
(実際、テーブルの内容を操作する(insertinto文などで)方法はわかるのですが・・・)
こちら初心者ですので、上記質問が可能かもわかりません。
可能であれば、ぜひ教えていただきたいです。
宜しくお願いします。
・ツリー全体表示

【3669】Re:データベースオブジェクトの削除方法
回答  Gin_II  - 04/10/10(日) 19:32 -

引用なし
パスワード
   >Accessに作成したフォーム、レポート、マクロ、モジュールを
>すべて削除する方法を教えてください。

テーブル一覧 とか、フォーム一覧 とかなら、For Each 〜 Next で
できると思いますが、全部となると、システムテーブルを参照した方が
簡単ですね。

ただ、全部削除するのなら、新規ファイルを作った方が簡単だと思いますが、
テーブル・クエリだけを残すということなのでしょうか??
・ツリー全体表示

【3668】データベースオブジェクトの削除方法
質問  山田  - 04/10/10(日) 0:59 -

引用なし
パスワード
   Accessに作成したフォーム、レポート、マクロ、モジュールを
すべて削除する方法を教えてください。
いろいろ調べてみましたが、
オブジェクト変数とか、for each ・・・next を使えば良いのかな?とは
思うのですが、その使い方が分かりません。
どなたか 教えていただけませんか
宜しくお願いします。
・ツリー全体表示

【3667】Re:レポート印刷の怪
お礼  Homes  - 04/10/9(土) 10:55 -

引用なし
パスワード
   ▼こもれび さん:
返信遅くなってすみません。
まさかレスが付いているとは思いませんでした。

こもれびさんの手法も試してみたのですが、
結局だめで、msgboxでジョブを一時止めてから
印刷させると問題なく動作するようになりました。
重ね重ね返信が遅くなり申し訳ありませんでした。
・ツリー全体表示

【3666】サブレポートと親レポート
質問  きちでん  - 04/10/9(土) 0:02 -

引用なし
パスワード
   サブレポートと親レポートにあるそれぞれの非連結のテキストボックスの数値を
合計して親レポートの別のテキストボックスに表示したいのですが、無理でしょうか?
・ツリー全体表示

【3665】Re:式ビルドでテーブル名を表出させない方...
お礼  わだあつと  - 04/10/8(金) 20:11 -

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

>SELECT T1.[FLD1],T1.[FLD2] FROM [TBL] AS T1
>とかのように。
ありがとうございました。
やってみます。
・ツリー全体表示

【3664】Re:式ビルドでテーブル名を表出させない方...
回答  Gin_II  - 04/10/8(金) 19:35 -

引用なし
パスワード
   >いちいち列幅を広げるのが大変なのでテーブル名のみを非表示にする方法があると
>聞いたことがあるような気がするのですが、簡単にできますか?

非表示にはできないと思いますが、別名をつけてやれば短くすることは
可能だと思います。

SELECT T1.[FLD1],T1.[FLD2] FROM [TBL] AS T1
とかのように。
・ツリー全体表示

【3663】式ビルドでテーブル名を表出させない方法は
質問  わだあつと  - 04/10/8(金) 19:24 -

引用なし
パスワード
   こんにちは。

Access97です。
クエリで、[tokyo][osaka]複数テーブルから同じ2つのフィールド名をもってくるとき、識別のためか、[tokyo]![sales]と[osaka]![sales]と表出されますよね。
ところがそのテーブル名が長い場合には、列幅をひろげないと全部見えませんよね。
いちいち列幅を広げるのが大変なのでテーブル名のみを非表示にする方法があると聞いたことがあるような気がするのですが、簡単にできますか?
それともVBAでロジックを組まなければいけないのでしょうか?
どなたかご教示いただけませんでしょうか。
・ツリー全体表示

【3662】Re:フォルダ内のファイル名を取得する方法
お礼  morik  - 04/10/8(金) 17:24 -

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

教えていただいたソースを実行してみましたらファイル名を取得することができました。

何度も質問に答えていただき有難うございました。

今回の件で勉強不足を痛感致しました。

これから参考書などでもっと勉強していきます。

どうもありがとうございました。
・ツリー全体表示

【3661】Re:フォルダ内のファイル名を取得する方法
回答  Gin_II  - 04/10/8(金) 16:23 -

引用なし
パスワード
   >と設定してみましたが、やはりファイルが見つかりません。と出てしまいます。
>ソースの中のパスの設定とGetAttrの説明を調べても良く分かりません。
>パスは検索したいフォルダに設定すればよいのでしょうか?

すいません。前回はよくコード見てませんでした。
使用例をコピーしただけの状態ですね (^^ゞ

使用例を参考にする場合には、どういった処理をしているのか?というのを
よく確認して、必要にあわせてコードを変更します。

このコードは、フォルダ名を取得するコードですね。

以下のように修正してみてください。

  ' C:\ 内のフォルダの名前を表示します。
  MyPath = "c:\AAA\TEXT_DATA"
  MyName = Dir(MyPath)
  Do While MyName <> ""
    Debug.Print MyName
    MyName = Dir
  Loop
・ツリー全体表示

【3660】Re:フォルダ内のファイル名を取得する方法
質問  morik  - 04/10/8(金) 16:02 -

引用なし
パスワード
   ▼Gin_II さん:
度々すみません。
先ほどアドバイスを頂いた通り

>MyFile = Dir("C:\Work\*.TXT")

と設定してみましたが、やはりファイルが見つかりません。と出てしまいます。
ソースの中のパスの設定とGetAttrの説明を調べても良く分かりません。
パスは検索したいフォルダに設定すればよいのでしょうか?

質問ばかりで申し訳ありませんがよろしくお願い致します。

Function AAA()
'MyFile = Dir

' 隠しファイル属性を持つ *.TXT ファイルであり、最初に見つかったファイル名を返します。
MyFile = Dir("C:\AAA\TEXT_DATA\*.TXT")

' C:\ 内のフォルダの名前を表示します。
MyPath = "c:\AAA\TEXT_DATA"  ' パスを設定します。
MyName = Dir(MyPath, vbDirectory)  ' 最初のフォルダ名を返します。
Do While MyName <> ""  ' ループを開始します。
  ' 現在のフォルダと親フォルダは無視します。
  If MyName <> "." And MyName <> ".." Then
    ' ビット単位の比較を行い、MyName がフォルダかどうかを調べます。
    If (GetAttr(MyPath & MyName) And vbDirectory) = vbDirectory Then
      Debug.Print MyName    ' フォルダであれば、それを表示します。
    End If
  End If
  MyName = Dir          ' 次のフォルダ名を返します。
Loop

End Function
・ツリー全体表示

【3659】Re:フォルダ内のファイル名を取得する方法
回答  Gin_II  - 04/10/8(金) 15:46 -

引用なし
パスワード
   > MyFile = Dir("*.TXT", vbHidden)
ここで、検索対象のフォルダ・ファイル名・属性等を指定します。
C:\Work フォルダの、すべてのテキストファイル(拡張子:txt)を検索するのなら、

MyFile = Dir("C:\Work\*.TXT")
のようにしてください。
・ツリー全体表示

【3658】Re:フォルダ内のファイル名を取得する方法
質問  morik  - 04/10/8(金) 15:37 -

引用なし
パスワード
   ▼Gin_II さん:
返信有難うございます。
早速ヘルプで使用例を見て以下のようにしてみたのですが、ファイル名が見つかりませんとエラーが出てしまいます。

フォルダ内に複数のファイルがあった場合のファイル名の抽出もこの方法で可能なのでしょうか?

初歩的な質問ばかりですみませんがご教授お願い致します。

Function AAA()
'MyFile = Dir

' 隠しファイル属性を持つ *.TXT ファイルであり、最初に見つかったファイル名を返します。
MyFile = Dir("*.TXT", vbHidden)

' C:\ 内のフォルダの名前を表示します。
MyPath = "c:\AAA\TEXT_DATA"  ' パスを設定します。
MyName = Dir(MyPath, vbDirectory)  ' 最初のフォルダ名を返します。
Do While MyName <> ""  ' ループを開始します。
  ' 現在のフォルダと親フォルダは無視します。
  If MyName <> "." And MyName <> ".." Then
    ' ビット単位の比較を行い、MyName がフォルダかどうかを調べます。
    If (GetAttr(MyPath & MyName) And vbDirectory) = vbDirectory Then
      Debug.Print MyName    ' フォルダであれば、それを表示します。
    End If
  End If
  MyName = Dir          ' 次のフォルダ名を返します。
Loop

End Function
・ツリー全体表示

【3657】Re:フォルダ内のファイル名を取得する方法
回答  Gin_II  - 04/10/8(金) 13:10 -

引用なし
パスワード
   >フォルダの中のファイル名を取得する方法がわかりません。

Dir 関数のヘルプを確認してください。
使用例もありますので。
・ツリー全体表示

【3656】フォルダ内のファイル名を取得する方法
質問  morik  - 04/10/8(金) 11:21 -

引用なし
パスワード
   いつもお世話になっております。
初歩的な質問で申し訳ないのですが、表題の対処法が分かりません。

現在、ACCESS2000で指定したフォルダの中のファイル名を取得した後ファイル名のチェックを行い、処理日付のフォルダを作成しファイルをコピーするといった作業を行うプログラムの作成を行っています。

処理日付フォルダの作成とファイルのコピーはできたのですが、フォルダの中のファイル名を取得する方法がわかりません。

モジュールで自動で処理を行いたいのですが。

どなたか対処法をご存知の方、ご教授お願い致します。
・ツリー全体表示

【3655】Re:DOSコマンドの戻り値について
回答  YU-TANG WEB  - 04/10/6(水) 0:35 -

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

> どうもこの方式では黒窓の出現は避けられないようですネ。

そういうニーズを勘案して、ちょっと更新してみました。
http://www.f3.dion.ne.jp/~element/msaccess/AcTipsGetDosResult.html#PS

よろしかったら、どうぞ。
・ツリー全体表示

【3654】Re:それともう一つ
お礼  ぷー  - 04/10/5(火) 19:10 -

引用なし
パスワード
   いろいろとアドバイスありがとうございました。
やはり、タイミングの問題でした。
クロさんもご自分でわざわざ試していただけたようで、申し訳ありませんでした。
思い通りに動作するようになりました。
本当にありがとうございました。
まだまだ、勉強不足です・・・ 
今後もよろしくお願いいたします。
・ツリー全体表示

【3653】Re:DOSコマンドの戻り値について
お礼  ドイツ人  - 04/10/5(火) 10:58 -

引用なし
パスワード
    ありがとうございました。うまく戻り値を取得できました。

 しかし、Shell関数ではvbHideを引くことにより、あの黒い窓を出さない
ようにできますが、どうもこの方式では黒窓の出現は避けられないようですネ。
・ツリー全体表示

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