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にテーブル名を取得し、テーブル名を選んで エクセルにエクスポートさせて、エクセルを起動させる ことをしたいのですが、出来ますか? 出来るならば、どうすればよいか教えて下さい。 |
> フォーム上の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 〜 を使えば、エクスポート後に、自動的に起動させることができると 思いますよ。 |
>どのような方法で? 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を起動させる ことをしたいのです。 |
前回回答したとおりですが。。 前回回答した、SQL文をクエリの新規作成で、コピペしてみてください。 mdbテーブル内のシステムテーブル以外の一覧が取得できるはずです。 そのクエリをコンボボックスの値集合ソースにすればいいですよね? >DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, _ > Me!ComboX, "C:\test.xls" TransferSpreadsheet ではなく、OutputTo を使ってみてください。 |
>前回回答した、SQL文をクエリの新規作成で、コピペしてみてください。 >mdbテーブル内のシステムテーブル以外の一覧が取得できるはずです。 > >そのクエリをコンボボックスの値集合ソースにすればいいですよね? クエリを新規作成して、テーブルを全て追加を行って クエリの抽出条件に教えて頂いたSQL文を入れるのですか? クエリのフィールドは、どうするのでしょうか? 何分初心者なもので、エラーが起きても原因が分かりません(泣) |
>SELECT [MsysObjects].[Name] >FROM MsysObjects >WHERE (((Left$([Name],1))<>"~") And (([MsysObjects].[Type])=1)) >And (Left$([Name],4)<>"MSys") >ORDER BY [MsysObjects].[Name]; これをコピーして使うのは分かりましたが、どこに貼り付けたら 良いのでしょうか? VBのソースの所でしょうか? VB所に貼り付けたら「コンパイルエラー」と何度もエラーが 起きてしまいます(泣) このソースは、どうのように使用したら良いのでしょうか? 折角教えて頂いたものを十分に生かせず申し訳ありませんが 分からないもので、ご指導頂けたら幸いです。 |
>これをコピーして使うのは分かりましたが、どこに貼り付けたら >良いのでしょうか? クエリの新規作成をして、テーブルを選択せずにOKを押してください。 で、「表示」⇒「SQLビュー」をすると、 SELECT; というのが書いてあると思いますので、それを消して、そのまま 貼り付けてください。 あとは、「表示」⇒「データシートビュー」にすると、テーブル名の 一覧が表示されると思います。 |
有り難うございます!? おかげさまで、ようやく出来ました(喜) OutputToの方も無事完成致しました。 ありがとうございました。 |
すみません(泣) 出来たと思っていたら、ComboBoxに クエリのテーブル名を挿入出来ません。 何故か・・・「使用出来るフィールドがありません」と エラーが出まして、ComboBoxにテーブル名を入れられません。 何故でしょうか? |
>出来たと思っていたら、ComboBoxに >クエリのテーブル名を挿入出来ません。 そのコンボックスのプロパティをどのように設定しているのか 教えてください。 値集合タイプ 値集合ソース 列数 列幅 連結列 もしくは、ウィザードを使って新規にコンボボックスを作成すれば できるような気はしますけど。。 |
>ComboBoxプロパティ設定 >値集合タイプ・・・・テーブル/クエリ >値集合ソース・・・・なし(空白) >列数・・・・・・・・1 >列幅・・・・・・・・なし(空白) >連結列・・・・・・・1 >もしくは、ウィザードを使って新規にコンボボックスを作成すれば >できるような気はしますけど。。 いつもは、ウィザードを使っています。 クエリを選ぶと「使用出来るフィールドがありません」をエラーが 起きます。 何故でしょう??? |
>クエリを選ぶと「使用出来るフィールドがありません」をエラーが >起きます。 先ほど作成したクエリを直接データシートビューで開くと、 テーブル一覧は、ちゃんと表示されていますか? |
>先ほど作成したクエリを直接データシートビューで開くと、 >テーブル一覧は、ちゃんと表示されていますか? はい。「Name」というフィールドが表示されています。 クエリの内容: フィールド Name Left$([Name],1) Type Left$([Name],4) テーブル MsysObjects MsysObjects 並べ替え 表示 する 抽出条件 <>"" 1 <>"Msys" となっております。 テーブルに[MsysObjects]があるものは、フィールドを選択出来ない模様です。 |
>テーブルに[MsysObjects]があるものは、フィールドを選択出来ない模様です。 なんでだろう?? コンボボックスのプロパティを 値集合タイプ:テーブル/クエリ 値集合ソース:SELECT [MsysObjects].[Name] FROM MsysObjects WHERE (((Left$([Name],1))<>"~") And (([MsysObjects].[Type])=1)) And (Left$([Name],4)<>"MSys") ORDER BY [MsysObjects].[Name]; ※1行で。 上記の設定で、ウィザードを使わずにコンボボックスを作成してみてください。 |
ようやくやっと出来ました。 ありがとうございます。 |