過去ログ

                                Page     134
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫   
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ▼accessのテーブル名取得  azumi 02/12/10(火) 11:58
   ┗Re:accessのテーブル名取得  イケガミ 02/12/11(水) 8:44
      ┗Re:accessのテーブル名取得  azumi 02/12/11(水) 9:48
         ┗Re:accessのテーブル名取得  イケガミ 02/12/11(水) 9:58
            ┗Re:accessのテーブル名取得  azumi 02/12/11(水) 10:07
               ┗Re:accessのテーブル名取得  azumi 02/12/11(水) 11:03
                  ┗Re:SQLビュー  イケガミ 02/12/11(水) 11:08
                     ┣Re:SQLビュー  azumi 02/12/11(水) 11:29
                     ┗Re:SQLビュー  azumi 02/12/11(水) 11:46
                        ┗Re:SQLビュー  イケガミ 02/12/11(水) 12:44
                           ┗Re:SQLビュー  azumi 02/12/11(水) 12:55
                              ┗Re:SQLビュー  イケガミ 02/12/11(水) 13:24
                                 ┗Re:SQLビュー  azumi 02/12/11(水) 13:33
                                    ┗Re:SQLビュー  イケガミ 02/12/11(水) 13:44
                                       ┗Re:SQLビュー  azumi 02/12/11(水) 13:48

 ───────────────────────────────────────
 ■題名 : accessのテーブル名取得
 ■名前 : azumi
 ■日付 : 02/12/10(火) 11:58
 -------------------------------------------------------------------------
   フォーム上のList又はComboにテーブル名を取得し、
選べるようにするには、どうするのですか?
又、ボタンをクリックしてエクセルを起動するには
どうすればよいですか?
テーブルをエクセルにエクスポートすることには
成功しました。
List又はComboにテーブル名を取得し、テーブル名を選んで
エクセルにエクスポートさせて、エクセルを起動させる
ことをしたいのですが、出来ますか?
出来るならば、どうすればよいか教えて下さい。

 ───────────────────────────────────────  ■題名 : Re:accessのテーブル名取得  ■名前 : イケガミ <ikegami_kumamoto@dosule.com>  ■日付 : 02/12/11(水) 8:44  -------------------------------------------------------------------------
   > フォーム上のList又はComboにテーブル名を取得し、
> 選べるようにするには、どうするのですか?

【コンボボックスの値集合ソース】

SELECT [MsysObjects].[Name]
FROM MsysObjects
WHERE (((Left$([Name],1))<>"~") And (([MsysObjects].[Type])=1))
And (Left$([Name],4)<>"MSys")
ORDER BY [MsysObjects].[Name];


> テーブルをエクセルにエクスポートすることには
> 成功しました。
どのような方法で?
DoCmd.OutputTo 〜
を使えば、エクスポート後に、自動的に起動させることができると
思いますよ。

 ───────────────────────────────────────  ■題名 : Re:accessのテーブル名取得  ■名前 : azumi  ■日付 : 02/12/11(水) 9:48  -------------------------------------------------------------------------
   >どのような方法で?
ComboBoxには、テーブル名の取得の方法が分からない為に
手動でComboBoxにテーブル名をいれました。
ボタンを作り、ComboBoxから選んだテーブル名から
エクスポートさせるようにしました。(全てフォーム上です)

Private Sub excelxp_Click()
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, _
               Me!ComboX, "C:\test.xls"
Dim ReturnValue
  
 ReturnValue = Shell("EXCEL.EXE", 1) 'これだと新規に起動(泣)
 AppActivate ReturnValue       '↑(コードがそうなので当然ですけど)

End Sub

ComboBoxにテーブル名を取得し、選んだテーブル名からボタンを押して
エクスポートさせて、その後にエクスポートさせたExcelを起動させる
ことをしたいのです。

 ───────────────────────────────────────  ■題名 : Re:accessのテーブル名取得  ■名前 : イケガミ <ikegami_kumamoto@dosule.com>  ■日付 : 02/12/11(水) 9:58  -------------------------------------------------------------------------
   前回回答したとおりですが。。

前回回答した、SQL文をクエリの新規作成で、コピペしてみてください。
mdbテーブル内のシステムテーブル以外の一覧が取得できるはずです。

そのクエリをコンボボックスの値集合ソースにすればいいですよね?


>DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, _
>               Me!ComboX, "C:\test.xls"

TransferSpreadsheet ではなく、OutputTo を使ってみてください。

 ───────────────────────────────────────  ■題名 : Re:accessのテーブル名取得  ■名前 : azumi  ■日付 : 02/12/11(水) 10:07  -------------------------------------------------------------------------
   >前回回答した、SQL文をクエリの新規作成で、コピペしてみてください。
>mdbテーブル内のシステムテーブル以外の一覧が取得できるはずです。
>
>そのクエリをコンボボックスの値集合ソースにすればいいですよね?

クエリを新規作成して、テーブルを全て追加を行って
クエリの抽出条件に教えて頂いたSQL文を入れるのですか?
クエリのフィールドは、どうするのでしょうか?
何分初心者なもので、エラーが起きても原因が分かりません(泣)

 ───────────────────────────────────────  ■題名 : Re:accessのテーブル名取得  ■名前 : azumi  ■日付 : 02/12/11(水) 11:03  -------------------------------------------------------------------------
   >SELECT [MsysObjects].[Name]
>FROM MsysObjects
>WHERE (((Left$([Name],1))<>"~") And (([MsysObjects].[Type])=1))
>And (Left$([Name],4)<>"MSys")
>ORDER BY [MsysObjects].[Name];

これをコピーして使うのは分かりましたが、どこに貼り付けたら
良いのでしょうか?
VBのソースの所でしょうか?
VB所に貼り付けたら「コンパイルエラー」と何度もエラーが
起きてしまいます(泣)
このソースは、どうのように使用したら良いのでしょうか?
折角教えて頂いたものを十分に生かせず申し訳ありませんが
分からないもので、ご指導頂けたら幸いです。

 ───────────────────────────────────────  ■題名 : Re:SQLビュー  ■名前 : イケガミ <ikegami_kumamoto@dosule.com>  ■日付 : 02/12/11(水) 11:08  -------------------------------------------------------------------------
   >これをコピーして使うのは分かりましたが、どこに貼り付けたら
>良いのでしょうか?

クエリの新規作成をして、テーブルを選択せずにOKを押してください。
で、「表示」⇒「SQLビュー」をすると、

SELECT;
というのが書いてあると思いますので、それを消して、そのまま
貼り付けてください。

あとは、「表示」⇒「データシートビュー」にすると、テーブル名の
一覧が表示されると思います。

 ───────────────────────────────────────  ■題名 : Re:SQLビュー  ■名前 : azumi  ■日付 : 02/12/11(水) 11:29  -------------------------------------------------------------------------
   有り難うございます!?
おかげさまで、ようやく出来ました(喜)
OutputToの方も無事完成致しました。
ありがとうございました。

 ───────────────────────────────────────  ■題名 : Re:SQLビュー  ■名前 : azumi  ■日付 : 02/12/11(水) 11:46  -------------------------------------------------------------------------
   すみません(泣)
出来たと思っていたら、ComboBoxに
クエリのテーブル名を挿入出来ません。
何故か・・・「使用出来るフィールドがありません」と
エラーが出まして、ComboBoxにテーブル名を入れられません。
何故でしょうか?

 ───────────────────────────────────────  ■題名 : Re:SQLビュー  ■名前 : イケガミ <ikegami_kumamoto@dosule.com>  ■日付 : 02/12/11(水) 12:44  -------------------------------------------------------------------------
   >出来たと思っていたら、ComboBoxに
>クエリのテーブル名を挿入出来ません。

そのコンボックスのプロパティをどのように設定しているのか
教えてください。

値集合タイプ
値集合ソース
列数
列幅
連結列


もしくは、ウィザードを使って新規にコンボボックスを作成すれば
できるような気はしますけど。。

 ───────────────────────────────────────  ■題名 : Re:SQLビュー  ■名前 : azumi  ■日付 : 02/12/11(水) 12:55  -------------------------------------------------------------------------
   >ComboBoxプロパティ設定
>値集合タイプ・・・・テーブル/クエリ
>値集合ソース・・・・なし(空白)
>列数・・・・・・・・1
>列幅・・・・・・・・なし(空白)
>連結列・・・・・・・1

>もしくは、ウィザードを使って新規にコンボボックスを作成すれば
>できるような気はしますけど。。

いつもは、ウィザードを使っています。
クエリを選ぶと「使用出来るフィールドがありません」をエラーが
起きます。
何故でしょう???

 ───────────────────────────────────────  ■題名 : Re:SQLビュー  ■名前 : イケガミ <ikegami_kumamoto@dosule.com>  ■日付 : 02/12/11(水) 13:24  -------------------------------------------------------------------------
   >クエリを選ぶと「使用出来るフィールドがありません」をエラーが
>起きます。

先ほど作成したクエリを直接データシートビューで開くと、
テーブル一覧は、ちゃんと表示されていますか?

 ───────────────────────────────────────  ■題名 : Re:SQLビュー  ■名前 : azumi  ■日付 : 02/12/11(水) 13:33  -------------------------------------------------------------------------
   >先ほど作成したクエリを直接データシートビューで開くと、
>テーブル一覧は、ちゃんと表示されていますか?

はい。「Name」というフィールドが表示されています。
クエリの内容:

フィールド   Name      Left$([Name],1) Type     Left$([Name],4)
テーブル   MsysObjects           MsysObjects 
並べ替え  
表示    する
抽出条件         <>""       1       <>"Msys"

となっております。
テーブルに[MsysObjects]があるものは、フィールドを選択出来ない模様です。    

 ───────────────────────────────────────  ■題名 : Re:SQLビュー  ■名前 : イケガミ <ikegami_kumamoto@dosule.com>  ■日付 : 02/12/11(水) 13:44  -------------------------------------------------------------------------
   >テーブルに[MsysObjects]があるものは、フィールドを選択出来ない模様です。
なんでだろう??


コンボボックスのプロパティを
値集合タイプ:テーブル/クエリ
値集合ソース:SELECT [MsysObjects].[Name]
       FROM MsysObjects
       WHERE (((Left$([Name],1))<>"~") And (([MsysObjects].[Type])=1))
       And (Left$([Name],4)<>"MSys")
       ORDER BY [MsysObjects].[Name];
   ※1行で。

上記の設定で、ウィザードを使わずにコンボボックスを作成してみてください。

 ───────────────────────────────────────  ■題名 : Re:SQLビュー  ■名前 : azumi  ■日付 : 02/12/11(水) 13:48  -------------------------------------------------------------------------
   ようやくやっと出来ました。
ありがとうございます。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━    通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━                                 Page 134