• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:CSVからテーブルへ追加)

CSVからテーブルへの時価追加方法

piroin654の回答

  • piroin654
  • ベストアンサー率75% (692/917)
回答No.3

説明と訂正が前後してすみません。 提案したコードは取り込み.CSVを テーブルとしてリンクして行う 方法です。 したがって、 >Set rs = db.OpenRecordset("C:\test\取り込み.CSV") ではなく、こちらで提示したコードのままで 実行してください。 リンクの仕方は、データベースウインドウ を表示したままで、 (1)ツールバーのファイルから、  外部データの取り込み→テーブルのリンク (2)取り込み.CSVが置いてあるフォルダを 表示。 (3)ファイルの種類はテキストを選択。 (4)取り込み.CSVをクリック (5)テキストリンクウィザードが起動 (6)区切り記号つきを選択 (6)カンマ選択 先頭行をフィールド名として使う  にチェック (7)次に進みIDの選択確認 (8)リンク終了のメッセージ確認 以上で取り込み.CSVがテーブルとして リンクされます。 このりんくされた取り込み.CSV を使用します。 もちろん、こんほかにも方法が ありますが、この方法で一度 確認してください。

matupo
質問者

お礼

ご返信有難う御座います。 取り込み.CSVをテーブルとして リンクできましたが コマンドボタンを押しても 商品TBLの時価の列に何も追加できません 下記コードを記述しています Private Sub コマンド0_Click() Dim db As Database Dim rs As Recordset Dim rst As Recordset Set db = CurrentDb Set rs = db.OpenRecordset("取り込みCSV") Set rst = db.OpenRecordset("商品TBL", dbOpenDynaset) rs.MoveFirst Do Until rs.EOF On Error Resume Next rst.FindFirst "ID = " & rs!ID Do Until rst.EOF If rst.NoMatch Then Exit Do Else rst.Edit rst!時価 = rs!時価 rst.Update End If rst.MoveNext Loop rs.MoveNext Loop rs.Close Set rs = Nothing rst.Close Set rst = Nothing db.Close Set db = Nothing End Sub

関連するQ&A

  • Access csvの取込 ファイルは任意でテーブルは指定したいのですが?

    Access初心者です。2003を使用しています。 csvをマクロの「テキスト変換」で取り込ませています。取り込み時に定義どおりのテーブルを作成してくれるので、追加クエリを使い作業用テーブルに移動させ、処理にはそちらを使う仕組みにしています。 csv → データ用テーブル → 作業用テーブル(実際使うテーブル) csv取り込みには「テキスト変換」マクロでファイル名にパスを設定していますが、この部分を固定パスではなく任意に指定できるようにしたいのです。(取り込みたいcsvが決まったパス、ファイル名で無い場合があります。) 「コマンドの実行:インポート」ですとダイアログが出て任意に取込ファイルが指定できますが、インポートウィザードが起動してしまいます。使用者がウイザードで適切な定義を選びデータ用テーブルを作成してくれればいいのですが、私がツールを作りPCに詳しくない人が使うのでインポートウイザードを避けたいと考えます。 どなたか、マクロ「テキスト変換」でファイル名をダイアログなどで、任意に指定できるような手法をご存じないでしょうか? また、マクロでは無理なようでしたらVBAでしたら可能でしょうか? よろしくお願いします。

  • アクセスで同一テーブル内へのデータの追加

    こんにちは。Access2000を使用しています。 「顧客テーブル」には「お買上げ年度」と「顧客名」フィールド があります。 「お買上げ年度」= "2007"の顧客を、「お買上げ年度」 = "2008" として「顧客テーブル」内に追加したいのですが、一度仮テーブル やCSVファイルにデータを退避することなく、クエリやVBA(ADO)で 対応することは可能でしょうか?(=同一テーブル内への追加クエリ を実行したい。)よろしくお願いいたします。

  • 【Jquery】csv2tableを使ってcsvを呼び出した表について

    JQueryのcsv2tableをつかってcsvを表に吐き出ししているものを Webに設置しています。 表示する際に、csvの0列目と1列目と3列目だけを表示させられるように下記のようなタグをいれています。 <input class = "btn1" type = "button" onclick = "$('#view54').csv2table('./data/Book12-utf8.csv',{ select : [0,1,3] });" value="Run select:[0,1,3]"> <div id="view54"></div> 参考:http://jsgt.org/lib/jquery/plugin/csv2table/v002/test-tm.htm#nview54 ここに、下記タグのように、偶数行だけ色を変えるよう指定したいのですがうまくいきません。 <input class = "btn1" type = "button" onclick = " $('#view2').csv2table('./test.txt',{ onload : function(id,op,data,ary){ $('tr:even','#'+id).css('background','#eee') } })" value = "Load CSV"> ここにある    onload : function(id,op,data,ary){ $('tr:even','#'+id).css('background','#eee') } が必要と思い、 <input class = "btn1" type = "button" onclick = "$('#view54').csv2table('./data/Book12-utf8.csv',{ select : [0,1,3]     onload : function(id,op,data,ary){ $('tr:even','#'+id).css('background','#eee') } });" value="Run select:[0,1,3]"> としたのですが、こうするとcsvが表示されなくなります。 おそらく書き方がどこかおかしいと思うのですが、どこがおかしいか教えてください。

    • ベストアンサー
    • AJAX
  • ACCESS VBA ヘッダなしCSVの入力について

    ACCESS VBA ヘッダなしCSVの入力について ”商品管理.mdb”の中に 下のような”商品TBL”があります 商品ID   納入日     仕入NO    管理コード  9   20100305     25596 10   20100326     19229 11   20100412     65841 12   20100423     26845 上の商品TBLテーブルの管理コードを入れる元データとして 下のような”管理.csv”があります 20100326,20100305,123 20100326,20100326,456 20100326,20100412,222 20100326,20100423,1111 ヘッダーはありませんが 1列目:納入日、2列目:仕入NO、3列目:管理コード になります。 やりたいことは ”商品TBL”の ”納入日”と”仕入NO”と 管理.csvの”納入日”と”仕入NO”(ヘッダーはありませんが1カラムと2カラム) が一致した場合、管理.csvの管理コード(3カラム目)を ”商品TBL”の管理コードに入力したいのです。 色々参考にしているのですがやり方がわかりません 今何とか”商品TBL”に管理.csvを読み込ませる所までは出来ましたが ただ単にデータを追加させる事が出来た程度です。 商品TBLと管理CSVを比較してマッチしたら管理コードを入力できる方法を どなたか、お教え願います。 以下現在の状況です Private Sub コマンド0_Click() Const adOpenStatic = 3 Const adLockOptimistic = 3 Const ForReading = 1 Set objConnection = CreateObject("ADODB.Connection") Set objRecordSet = CreateObject("ADODB.Recordset") objConnection.Open _ "Provider = Microsoft.Jet.OLEDB.4.0; " & _ "Data Source = c:\test\商品管理.mdb" objRecordSet.Open "SELECT * FROM 商品TBL", _ objConnection, adOpenStatic, adLockOptimistic Set objFSO = CreateObject("Scripting.FileSystemObject") Set objFile = objFSO.OpenTextFile("C:\test\管理.csv") Do Until objFile.AtEndOfStream strkanri = objFile.ReadLine MsgBox strkanri arrkanri = Split(strkanri, ",") objRecordSet.AddNew objRecordSet("納入日") = arrkanri(0) objRecordSet("仕入NO") = arrkanri(1) objRecordSet("管理コード") = arrkanri(2) objRecordSet.Update Loop objRecordSet.Close objConnection.Close End Sub

  • Access2000のCSVファイルのインポートについて

    Access2000でCSVファイルをインポートしようと思っています。 インポート方法は、VBAで 「DoCmd.TransferText acImportDelim, , "テーブル名", "ファイル名"」を使用しています。 この時に、CSVファイルが次のようなデータです。 F1,F2,F3 0010,0200,0001A12 0011,0201,0021B12 (実際は、1000件近いデータです) これをインポートすると、 F1,F2,F3 10,200,1A12 11,201,21B12 となってしまいます。 頭の「0」を省きたくないのです。 文字列として取り込めないでしょうか? CSVのデータに""を自動でつける方法はないでしょうか? Accessの外部データの取り込みを使うと、文字列として指定できるのですが、VBAを使いワンクリックでデータを取り込もうとしています。 よろしくお願いします。

  • エクセルからアクセスのテーブルにデータ追加したい

    Excel(xls)からAccess(mdb)のテーブル(出力)にデータを追加できるVBAコードを教えてください。 条件 Accessの名前と場所 C:\SP3\Print.mdb テーブル名 (出力) (履歴) テーブル構造 (出力) (履歴)ともに、フィールド1~4、ID 履歴テーブルのIDは、カウントアップであり、プリント後のデータが格納される。エクセルでマクロを起動したときに、最初に履歴テーブルの最後のIDを知り、エクセルの対応するID列をレコード分だけ最後のID+1から通番を付ける。通番を付けたら、エクセルのフィールド1~4とIDのレコードセットを出力テーブルの該当列に追加する。 以上がやりたいことです。 エクセルに、10行から100行程度のデータを貼りつけて、このVBAを紐づけたマクロボタンを押したら、履歴テーブルの最後を調べて、その次の番号から順に、上からID列を更新して、その後、出力テーブルに追加したいのです。 検査機器用に専用開発されたプリントソフトがデータベースにAccessを持っていて、プリントソフトのフロントからデータを手入力する仕様なのですが、エクセルで加工したデータをAccessの所定のテーブルに横差ししたい考えです。対象のPCには、Accessをインストールしていないため、エクセル側からテーブルを操作したい理由です。 よろしくお願いします。

  • ACCESS テーブルのレコードを全て移動

    ACCESS VBA を使って処理を行っております。 原因が分からず困っております。 結果テーブル  フィールド名 monoID,monona,inkosuu,outkosuu,nowkosuu 取込テーブル  フィールド名 物ID,物名,現在個数 今までフォームに表示させて一件づつ手入力にて処理しておりましたが、複数人で作業できるように修正している所です。 ○各々がExcelに収集したデータをCSVにて「取込テーブル」にインポート   ↓ ○「取込テーブル」のレコードを集約しデータ整合(ここまでは出来ています)   ↓  ○「取込テーブル」の全レコードを「結果テーブル」にインポート DIM SQL001 AS String SQL001 = "INSERT INTO 結果テーブル (monoID,monona,nowkosuu) SELECT (取込テーブル.物ID,取込テーブル.物名,取込テーブル.現在個数) FROM 取込テーブル CurrentDb.Execute SQL001 これで動作させるとエラーになります。 ただ、実験で SQL001 = "INSERT INTO 結果テーブル (monoID) SELECT (取込テーブル.物ID) FROM 取込テーブル の様に一つのフィールドだけにすると全てのレコードをインポートすることが出来ます。 何か凡ミスの様な気もするのですが、取込テーブルをレコードセットとし1件ずつインポートする方法しか無いのでしょうか?

  • Accessのテーブルデータを一気にVBAで追加したい・・

    Accessのテーブルデータを一気にVBAで追加したい・・ Accessに一時商品登録データというテーブルがあり、 問題なければ商品登録データにデータを流し込みたいと思っています テーブルのデータ構造は全く同じです VBAで一時商品登録のテーブルから一件ずつデータを読み取って 商品登録データに追加することは出来るのですが 一気にデータを追加する方法があれば教えていただけないでしょうか? よろしくお願いいたいます

  • <SELECT>の<option value="#">で#にリンクされるような形でcsv2tableをつかってcsvテーブルを出したい

    説明がうまくできないのですが 通常、option valueの値を下記のように <select id="pref" name="pref" class="selectable"> <optgroup label="海の魚"> <option value="001.html">真鯛</option> <option value="002.html">ガシラ</option>     </optgroup>     <optgroup label="川の魚"> <option value="003.html">鮎</option> <option value="004.html">鯉</option>     </optgroup> </select> となっている場合、真鯛を選択すると001.htmlにジャンプしますよね。 こういうのの応用で、↓ここのように http://allabout.co.jp/internet/javascript/closeup/CU20080229A/index2.htm csvから表を呼び出して表示するようにしたいのですが、具体的にどのようにすればよいでしょうか? 上記サイトでは <input>タグで呼び出すようにしていますので、物理的に不可能な場合は最終<input>タグでもいいかなと思っているのですが、情報が多いためできればインターフェースをすっきりさせたい面もあって<select>メニューから選択し、それが反映されるようにしたいのですが、どのようにすればよいでしょうか? 当方、htmlとcssの知識は多少ありますが、jsやajaxの知識はあまりありませんので、できるだけ詳しく教えていただけるとありがたいです。 ajaxを使用する場合、ライブラリはJquery1.3を使用していますので かち合わないようにお願いします。 イメージ的には、下記のようなものが作りたいです。 このままだと動かないですけど・・・イメージとして・・・ <select id="pref" name="pref" class="selectable"> <optgroup label="海の魚"> <option value="         $('#fish').csv2table('001.csv',{ select : [0,1,2] });"       >真鯛</option> <option value="         $('#fish').csv2table('001.csv',{ select : [0,3,4] });"      ">ガシラ</option>     </optgroup>     <optgroup label="川の魚"> <optgroup label="海の魚"> <option value="         $('#fish').csv2table('002.csv',{ select : [0,1,2] });"       >鮎</option> <option value="         $('#fish').csv2table('002.csv',{ select : [0,3,4] });"      ">鯉</option>     </optgroup> </select> <div id="fish"></div> イメージとしては、プルダウンで真鯛を選択すると、<div id="fish">●●</div>ここに、001.csvの0列・1列・2列目が吐き出され、またプルダウンから鯉を選択すると、002.csvの0列・3列・4列目が吐き出しなおされるというようなイメージです。

  • テーブル結合、JOINについて

    こんにちは。教えてください。 テーブルが3つあります。 これらを、条件にそって結合させたいと思っています。 TBL1 ID、NO TBL2 ID、ID名称 TBL3 NO、CD、NO名称 条件は、TBL1を全件表示し、TBL1のIDと等しいTBL2のID名称を 取得、TBL1のNOと等しいTBL3のNO名称を取得します。 ここまでは、うまくいくのですが、追加で条件があり、 TBL3については、CDが'0'の物のみを対象とします。 結果  ID、ID名称、NO、NO名称 となるようにしたいのですが・・・・ よろしくお願いします。