• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:EXCEL VBAでマイクロソフトクエリを記録すると)

EXCEL VBAでマイクロソフトクエリを記録する方法

TAGOSAKU7の回答

  • ベストアンサー
  • TAGOSAKU7
  • ベストアンサー率65% (276/422)
回答No.1

←質問内容がいまいち理解できてません。 ちなみにCommandText はVariant型ですよね? 何がしたいのかがよくわからないけど、最後の5個のカンマがエラーの原因です。 配列がどうしてもその分が必要なのであれば、最後の5個のカンマをなくして、Redimで配列を増やしてください。 はずしてたらすいません。

関連するQ&A

  • Access パラメータクエリーをVBAで実行

    初めての質問になります、宜しくお願いします。 Access2007でのPG開発を行っています。 Insertのパラメータクエリーを作成してました(以下Q_Inst)。 VBA側でパラメータをセットして実行するとエラーが出てしまいます。 実行時エラー3265 要求された名前、または・・・ dbCmd.CommandText = "Q_Inst" dbCmd.CommandType = adCmdStoredProc dbCmd.Parameters.Refresh dbCmd.Parameters("[ID]") = 1 ' ←ここでエラー dbCmd.Parameters("[Name]") = TanakaTarou dbCmd.Parameters("[Birth]") = "1980/12/01" ADODB.Command をあまり使わないので勝手がいまいち分かりません。 SELECT、INSERT、UPDATEは今までdbCon.Execute(strSQL)でstrSQLの中にべた書きしてました。 エラーの対処方法をご教授お願い致しますm( _ _ )m

  • Excel VBAにて助けてほしいです。

    マクロ記述でグラフを挿入を記録したものを、VBAで実行すると 実行時エラー アプリケーション定義またはオブジェクト定義のエラーです。 となります。 Range("C3:O5").Select ActiveSheet.Shapes.AddChart2(201, -4111).Select ActiveChart.SetSourceData Source:=Range("決算!$C$3:$O$5") -4111が認識されないのかわかりません。 集合縦棒2つ 折れ線グラフ1つ 表及び記録されたコードの画像を添付します。 なんとか宜しくお願い致します。

  • VBAでのエラーです・・。

    最近VBAマクロを本を片手に勉強しています。シートを選択するVBAを作っていて次のような記述ができないのか考えています。 dim A as String A = "sheet2,sheet3" Sheets(Array(A)).select とやると、Arrayの行で「インデックスが・・・」というエラーで落ちます。Arrayを変数で指定することができないのですが・・。なにか記述に問題があるのでしょうか?(変数Aに"sheet2", "sheet3"と値が入るようにしても結果はNGでした・・。) 宜しくお願いします。

  • Access2000でVBAからパラメータクエリを実行

    Access2000でフォームからの値を参照して実行するクエリを作りました。 SQLで表すと、以下のようなものです。 クエリ名:test SELECT TEST.HAKKODTE FROM TEST WHERE (((TEST.HAKKODTE)=Format([Forms]![F_メニュー]![txtNyukinDate],"yyyymmdd"))); このクエリをダブルクリックで実行すると問題なく実行できます。 これを、VBAからレコードを参照したいと思い、 以下のように記述しました。 Dim cn As ADODB.Connection Set cn = CurrentProject.Connection Dim rs1 As ADODB.Recordset Set rs1 = New ADODB.Recordset Dim sqlstr As String sqlstr = "SELECT * FROM test;" rs1.Open sqlstr, cn, adOpenKeyset, adLockOptimistic しかし、Open処理で、「1つ以上の必要なパラメータの値が設定されていません」 というエラーになってしまいます。 VBAを実行するときに、[Forms]![F_メニュー]![txtNyukinDate]に きちんと値は入力されています。 これを実行する方法はあるでしょうか?

  • Excel VBA 【QueryTables.Add】について

    おしえてください。 マクロの自動記録で、外部からのデータ取り込みをしましたら 以下の様になりました。 With ActiveSheet.QueryTables.Add(Connection:= _ "○○;■■;●●;;□□;▲▲", Destination:=Range("A1")) .CommandText = Array("SELECT * FROM △△.▽▽") .Name = "☆☆ からのクエリ" .FieldNames = True .RowNumbers = False .FillAdjacentFormulas = False .PreserveFormatting = True .RefreshOnFileOpen = False .BackgroundQuery = True .RefreshStyle = xlInsertDeleteCells .SavePassword = False .SaveData = True .AdjustColumnWidth = True .RefreshPeriod = 0 .PreserveColumnInfo = True .Refresh BackgroundQuery:=False End With このコードについて勉強したくてヘルプやネットで調べましたが どうしても「.Name …」以降の説明がみつかりません; 詳しく説明の載っているサイトもしくは本などご存じでしたら 教えていただけないでしょうか。 よろしくお願い致します。

  • Excel VBA で「型が一致しませんエラー

    Excel VBA で「型が一致しません」というエラーが発生します。 -------------------------------------------------------------------------------- Dim katacode as String katacode = "(1001,1002,1005,1010,1015,1020,1030,1035,1036,1040,…(省略)…,1150)" With ActiveSheet.QueryTables.Add(Connection:= _ pubfncgetConnectString,Destination:=Range("A1")) .CommandText = Array(_ "SELECT ~ FROM ~ WHERE コード IN katacode -------------------------------------------------------------------------------- 「katacode」の値が、文字列の長さが155までは上手く動くのですが  それ以上に追加すると「型が一致しません」というエラーが発生します。   原因がわかりましたら教えていただけないでしょうか。よろしくお願い致します。

  • VBAで、エクセルワークシート上の図を選択・削除したい

    VBAで、ワークシート上の図をすべて選択して削除するのは、どのように書いたら良いでしょうか?実際の図は一つなのですが、オートマクロで記述すると、 ActiveSheet.Shapes.Range(Array("Picture 3").Select のように、番号が変わってしまいます。

  • エクセル VBA : テキストボックスのグループ化

    エクセル VBAにてテキストボックスをグループ化したいのです。 マクロを記録すると、 ActiveSheet.Shapes.Range(Array("Oval 82", "Text Box 83")).Select Selection.ShapeRange.Group.Select となります。 "Text Box 83"のように常に名前が固定されているわけではないので、セルのA1からC10にある図形を選択してグループ化するようにしたいのです。 ご存知の方、アドバイス願います。

  • VBAをつかってクエリの情報を抽出するには??

    ACCESS VBAを使ってプログラムを組んでいるVBA初心者です。ヘルプやいろんなHPを参考にしているのですが、どうしてもわからないことがあるのでおしえてください。 クエリの情報をフォームの日付から抽出し、csvファイルを作成するというものを作ろうとしています。 クエリの抽出条件でフォームの日付の期間で抽出するようにしてあります。 VBAにてOpenRecordsetでクエリから情報を抽出しようとするのですがクエリがありませんとエラーをはかれてしまいます。クエリの指定方法がまちがっているのでしょうか? また、以下の方法とは別の方法でクエリから抽出するやりかたがありましたら教えていただけませんでしょうか?よろしくお願いいたします。 以下にどのように記述しているか記します。 ------------ Public Function value() On Error GoTo ERRORRR Set db = CurrentDb Dim rs As Recordset Set rs = db.OpenRecordset("[開通チェック]", dbOpenDynaset) Debug.Print rs.EOF Do Until rs.EOF Debug.Print rs!ID Debug.Print rs!登録状態 Debug.Print rs!開通年月日 rs.MoveNext Loop rs.Close: Set rs = Nothing db.Close: Set db = Nothing Exit Function ERRORRR: msgbox Err.number & ":" & Err.description End Function -------- 開通チェック:クエリ (開通年月日には Between [Forms]![開通チェック]![開始日] And [Forms]![開通チェック]![終了日] の抽出条件が書かれています。) 使用しているACCESS Ver:ACCESS97

  • クエリから表示したサブフォームの集計

    メインフォーム”f1_メイン”の中に サブフォーム 名前:frmList ソースオブジェクト:sub_金額(フォーム) があります sub_金額(フォーム)にはクエリ”q1_金額”を読み込むように VBAで以下のように読み込んでいます。 frmList.Form.RecordSource = "SELECT * FROM q1_金額 " frmList.Form.Refresh q1_金額の内容は 金額 100 150 200 300 841 と金額列に金額が入っています。 やりたい事は frmList.Form.RecordSource = "SELECT * FROM q1_金額 " frmList.Form.Refresh で読み込んだ時に メインフォームのフッターの テキストボックス”合計”にq1_金額の合計を表示したいのですがうまく行きません。 VBAの記述で Dim RS As DAO.Recordset Set RS = CurrentDb.OpenRecordset("SELECT SUM(金額) FROM q1_金額 " ) With RS 等としても”パラメーターが足りません”とエラーが帰ってきます。 VBAの記述でもテキストボックスの設定でも構いませんので 何か方法があればお教え願います。