• 締切済み

accessテーブルの数値をエクセルセルに移VBA

readme_emlの回答

回答No.6

既出ですが 'Dim myCon As New ADODB.Connection がコメントになってます。 シングルコーテーションを外してください。 とりあえず、今のエラーは消えるのではないかと。

関連するQ&A

  • ExcelVBAからAccessにアクセスする

    ExcelVBAからパスワード付きAccessにアクセスする ExcelVBAからADOでAccessに次のようにしてアクセスしています。 Dim Cnn As ADODB.Connection Set Cnn = New ADODB.Connection Cnn.ConnectionString = \"Provider=Microsoft.Jet.OLEDB.4.0;\" _ & \"Data Source=\" & mdbのフルパス Cnn.Open パスワード付きのmdbにアクセスするのはどのようにしたらよろしいでしょうか?

  • DBパスワードありVBAアクセスについて

    Access2010を使用しております。 Excel2010からAccessにVBAからSelect文でデータセット取得しようとしております。 接続には以下の記述で接続しようとしてますが、オートメーションエラーになります。 Set con = New ADODB.Connection con.Provider = "Microsoft.Ace.OLEDB.12.0" con.Properties("Jet OLEDB:Database Password") = Password con.Open "C:\\Directory" または con.Provider = "Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Directory;Jet OLEDB:Database Password=Password" con.Open などいろいろ試してますがうまくいきません。 パスワードがなければ以下の記述で開けるのですが。 con.Provider = "Microsoft.Ace.OLEDB.12.0" con.Open "c:\\Directory" アドバイス等お願いします。

  • Access VBA について

    Access2000 をXPで動かしています。 全く別のフォルダーに入れている ABC.mdb を使って、 \Seikyu というフォルダーにある 請求sys.mdb の テーブル「銀行マスター」から銀行名等を取りだそう としています。 Dim DB As ADODB.Connection Set DB = New ADODB.Connection DB.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=C:\Program Files\Seikyu\請求sys.mdb;" Set RS = New ADODB.Recordset RS.Open "銀行マスター", DB, adOpenKeyset, adLockOptimistic Me.T1 = RS!ID Me.T2 = RS!銀行名 Me.T3 = RS!口座 RS.Close DB.Close こうすると、 実行時エラー '3709': このコンテキストで閉じられているかあるいは無効です のエラーが表示されます。 どこが間違いなのでしょうか。

  • vb.net で ADO でアクセスのテーブル

    アクセスのテーブルのレコードの数を取得したいのですが コードがわからないので続きを教えていただけますか? Imports System.Data.OleDb Sub test() Dim oleConn As OleDbConnection Dim oleCmd As OleDbCommand Dim oleAdp As OleDbDataAdapter oleConn = New OleDbConnection("Provider = Microsoft.ACE.OLEDB.12.0;" & "Data Source=C:\Database1.accdb;") oleCmd = oleConn.CreateCommand() oleCmd.CommandText = "SELECT * FROM テーブル1" oleAdp = New OleDbDataAdapter(oleCmd) 'MsgBox oleCmd.??? End Sub までできたのですが、ここからどうすれば数を取得できますか?

  • Newがどのような役割をしているのかわからない

    エクセルからアクセスの更新クエリを実行する際に エクセル側のコードで Sub ACCESSのアクションクエリを実行する() Dim cn As ADODB.Connection Dim myCmd As ADODB.Command Set cn = New ADODB.Connection Set myCmd = New ADODB.Command cn.Open "Provider = Microsoft.ACE.OLEDB.12.0;Data Source=" & strPath & ".accdb;Jet OLEDB:Database" だとうまくいきませんでしたが、 Dim cn As New ADODB.Connection にしたらうまくいきました。 Newを付けることによって成功したのですが、 Newがどのような役割をしているのかわからないので教えてください。

  • エクセルからアクセスのアクションクエリ エラー

    今までできてたコードが急にできなくなりました。 エクセルからアクセスのアクションクエリを実行するvbaコードなのですが Sub 削除クエリを実行する () Dim cmd As New ADODB.Command Dim MySQL As String cn.Open "Provider = Microsoft.ACE.OLEDB.12.0;Data Source=" & "D:\(test).accdb" MySQL = "DELETE Tローカル.* FROM Tローカル;" cmd.ActiveConnection = cn cmd.CommandText = MySQL cmd.Execute MySQL cn.Close: Set cn = Nothing End Sub を、今までやっていたのに、 昨日からできなくなりました。 cn.Open "Provider の部分で、 実行時エラー、-2147467259(80004005) エラーを特定できません。 となります。 環境は、win7、オフィス2010です。

  • ADO1とADO2は意味は同じですか?

    Private Sub ADO1() Dim cn As New ADODB.Connection cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source= " & CurrentProject.FullName cn.Close: Set cn = Nothing End Sub Private Sub ADO2() Dim cn As ADODB.Connection Set cn = New ADODB.Connection cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source= " & CurrentProject.FullName cn.Close: Set cn = Nothing End Sub は、 Dim cn As ADODB.Connection Set cn = New ADODB.Connection を簡素化したものが Dim cn As New ADODB.Connection になるのでしょうか?

  • Accessから呼び出した値を比較するには?

    お世話になります。 Excel入力したデータをボタンをクリックすることによってAccessにインプットするVBAを組んでおります。  Accessにインポートするのは、できたのですが、重複データが存在していた際には、インポート時に「既に登録されてます」とエラー表示をさせたいのですが、なかなかできず手間取っておりますので、ご助力お願いします。 Private Sub DB登録_Click() 'Accessにて作成したeigyoデータベースへの登録 Const MyPath = "eigyo.mdb" Dim msg As Integer Dim MySQL As String Set MyCon = New ADODB.Connection Set MyRs = New ADODB.Recordset 'MDBへの接続情報を指定 MyCon.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" _ & "Data Source=" & MyPath MyCon.Open "provider=Microsoft.Jet.OLEDB.4.0;Data Source=eigyo.mdb" '接続を開く MySQL = "select * from 営業受託情報" MyRs.Open MySQL, MyCon, adOpenStatic, adLockOptimistic msg = MsgBox("データを追加しますか?", vbOKCancel) 'キャンセルのときは追加しない If msg = vbCancel Then Cancel = True Else '重複登録を回避 '工事名称を抽出して比較する name = Worksheets("横案").Range("d2").Value '名称を代入 sql = "select * from 営業受託情報 where 名称 & name" If sql = name Then MsgBox ("既に登録されています") Else With MyRs.AddNew MyRs!名称 = Worksheets("横案").Range("d2").Value MyRs!場所 = Worksheets("横案").Range("d3").Value MyRs.Update End With MyCon.Close '接続終了 Set MyRs = Nothing MsgBox ("データを追加しました") End If End If End Sub

  • FTPサーバー上のデータにADO接続したい

    WINDOWS2008サーバー/クライアント Win7 FTPサーバー上にあるEXCELファイルから、同じFTPサーバー上のACCESSファイルへ ADO接続したいのですが、(そのエクセルをクライアントPC Win7から実行します) Dim adoCON As New ADODB.Connection adoCON.ConnectionString = "provider=Microsoft.ACE.OLEDB.12.0;" _ & "Data Source=IPアドレス" & ";DATABASE=accdb名" & & "; UId=FTPユーザー名 ; PWD=パスワード; " ではエラーになってしまいます。 どなたか教えていただけませんでしょうか? どうぞよろしくお願いいたします。

  • 教えて下さい。m(__)m

    ADODB6.1を使用し"smp2013*.xls"の"Sheet1"の列から"済"の数をカウントしたいのですが 列名に改行コード[ALT+Enter]があり、うまく取得できません。お助け下さい。 下記コードでは"0"と表示されます。(※エラー処理等は記述しておりません。) PC:Win7pro 64bit、Excel2010 32bit Sub smp_1() Dim myCon As New ADODB.Connection, myRS As New ADODB.Recordset, FileName As String Dim j As String, i As Integer Dim val_day As String val_day = "\\share01\12345\" FileName = Dir$("\\share01\12345\smp2013*.xls") myCon.Open "Provider=Microsoft.ACE.OLEDB.12.0;Extended Properties=Excel 12.0;" & _ "Data Source=" & val_day & FileName j = "select count(*) from [Sheet1$] where ""H24"" & Chr(10) & ""決済"" = '済';"  '←ここです。 myRS.Open j, myCon Worksheets(1).Range("A1").CopyFromRecordset myRS myRS.Close Set myRS = Nothing myCon.Close Set myCon = Nothing End Sub