• 締切済み

アクセスのコードについて2

ARCの回答

  • ARC
  • ベストアンサー率46% (643/1383)
回答No.1

えっと、フォルダ名が格納されたテーブルがあって、そのテーブルからデータを取り出したい、ってことでいいのでしょうか? 「管理テーブル」テーブルに「フォルダ名」フィールドがあって、その1レコード目のデータを取り出すには、以下のようにします。 Dim con As ADODB.Connection Dim rs As ADODB.Recordset Dim strSQL As String Dim strFolderName As String Set con = Application.CurrentProject.Connection strSQL = "SELECT * FROM [管理テーブル];" Set rs = New ADODB.Recordset rs.Open strSQL, con, adOpenKeyset strFolderName = rs![フォルダ名] MsgBox strFolderName

関連するQ&A

  • アクセスのコード記述について

    アクセスのデータをタグ付のテキストで出力するために、以下のようなコードをコマンドボタン1に割り当てました。 Private Sub コマンド1_Click() Open "c:\test.htm" For Output As #1 Print #1, "<html>" Print #1, "<title>テスト</title> Print #1, "<body>" Print #1, "<PRE>" Print #1, Me!data Print #1, </PRE> Print #1, "</body>" Print #1, "</html>" Close #1 End Sub 上記のコードに、アクセスデータ中に入っているcase_noのデータをファイル名としたイメージを読み込むために以下のタグ <IMG SRC ="c:\1234.gif">を追加したいと思い、下記のコードを追加したのですが、アクセスのコードの「"」とタグの「"」とが混在してしまっているのでエラーになってしまいます。どうしたらいいのでしょうか? Print #1, "<IMG SRC ="c:\" & Me!case_no & ".gif">" 

  • アクセスVBAでの出力設定について

    初めての質問投稿となります。 アクセステーブルデータを、フィールドキー毎にエクセルテンプレートへ出力しようと試みています。 様々なサイトを参考に下記の対応は作成してみたのですが、組み合わせ方が上手く理解できずに行き詰っております。 ①テーブルのレコードをフィールドキー毎に ②エクセルのテンプレート(B3セルから)へレコード出力し ③シート名・ファイル名にフィールドキーをつけて保存 テーブル名:報告リスト (ブロック/支店名/社員コード/etc...) フィールドキー:ブロック クエリにてフィールドキー毎のデータを作成し、都度エクセルへコピペする作業工数を減らすべくご教示いただけますと幸いです。

  • Access2000のMDBファイルをVBScriptやWSH?で

    Access2000のmdbファイルがあります。 VBScriptでテーブル名の一覧をテキストに落としたり、 特定のテーブルのレコードにあるデータに1.05を掛けて テキストにcsvの形で出力させたいのですが、何か良いサンプルはあるのでしょうか?

  • 【Access2013】 上書き保存と追加保存

    会社PCがWin10&Office2013へ交換されました。 Excelファイル(xlsx)で出力する際、保存場所とファイル名を自由に指定できるようにしたく添付画像のようなコードを作成しました。 しかし、同名ファイルがあっても「上書き保存しますか?」ダイアログが出ない上に、違うテーブルやクエリーをExcel出力すると1つのxlsxファイル内に別sheetで保存されます。 (例) Q_管理表というクエリーを管理表.xlsxという名前で出力    →続けてテーブル1というテーブルをExcel出力し管理表.xlsxに上書き保存すると管理表.xlsxの中に「Q_管理表」「テーブル1」という2つのsheetで保存される    →続けてQ_管理表を再度出力するとsheet「テーブル1」はそのままでsheet「Q_管理表」は上書きされる 1つのxlsxファイル内に別sheetで保存されるのはむしろ好都合なので、上書き保存と追加保存を選択できるようなコードはありませんか? できない場合は「上書き保存しますか?」ダイアログを出して上書き保存させたいです。

  • MicrosoftAccess2003について

    Microsoft Access2003にて、2つのCSVファイルをインポートして、1つの任意テーブル形式に反映される方法を教えて下さい。 Microsoft Accessの初心者(2,3時間触った程度)です。EXCELは簡単なマクロを作成できる程度です。 現在、居なくなった人が作成したAccessファイルがあり、当該ファイルを更新する作業を行っています。 更新作業内容 1.現在の仕様にて、フォームに手打ちにてデータを打ち込みテーブルに反映させるように なっているのを、ボタンを押して打ち込む内容を含んだCSVファイル(2種類)をインポートして 当該テーブルに反映させたい。手打ちで行う方法も残して、別途データ読込み機能を追加 したい。 つまり、2種類のCSVファイルをインポートし、一つのテーブルをインポートした内容を反映したものにしたい。 (テーブルが更新されれば、その後の処理は作成済みとなってます。) 2.仕様 CSVでは、入金と出金でファイルが2つに別れているが、テーブルは1つで管理しています。 (1)テーブルの仕様: 「」がフィールド名、【】がデータ型、その後は説明です。 (1)「id」、【オートナンバー】 (2)「削除」、【yes/no型】 (3)「受付区分」、【テキスト型】、2種類のファイルの分類。入金ファイルの場合は全て『1』、出金は『2』と記入する。 (4)「〇〇コード」【テキスト型】、インポートしたファイルから反映。CSVファイルも「〇〇コード」というレコード ~ (7)「区分」【テキスト型】、インポートしたファイルから反映。CSVファイルでは「区分コード」のレコードに該当。 しかし、CSVファイルには「区分」というレコードがあり、日本語が記入されている。 レコード名がテーブルとCSVで合あってないのはこの一つのみです。 他の箇所に影響するため、フィールド名は変更できない。 ~ (12)列まであります。CSVファイルから反映するものもあれば、反映せずNULLで表示したい箇所もあります。 (2)2つのCSVファイルの仕様 データのフォーマットは全く同じ。ファイル名が違うのみ。(入金と出金) 上記2.(1)(3)はファイル名で見分けるしかできない。 共に(1)~㉝の列で構成されている。テーブルに必要は情報は、2.(1)(3)以外は含まれている。 拙い説明文書で申し訳ございませんが、ご協力お願いいたします。 不十分な点があるかと思いますが、ご質問頂ければ回答させて頂きます。 本当に初心者なため、手順なども教えて頂ければ幸いです。 皆様、宜しくお願いいたします。

  • Accessのクエリ集計について

    Accessのクエリ集計について kamuycikapです。 テーブルを集計するクエリについて悩んでいます。 以下がテーブルの状況と試行錯誤しているクエリ。 そして実行結果の箇条書きです。 非常に長文ですが、識者の方のアドバイスをお願い致します。 --ここから <データベース構造:リレーションシップ> リレーションシップとテーブルの構成は下記の通りです。 -->がリレーションシップです。 ■テーブルA      ■テーブルB    ■テーブルC    ■テーブルD 納品書コード ーー> 納品書コード ーー> 納品書コード  ーー> 納品書コード 仕入数          商品コード  ーー> 商品コード   ーー> 商品コード                               商品連番    ーー> 商品連番                               出品数量        出品連番                               商品名           発送個数                               色             発送日付                               サイズ                               売値 <作りたいデータ> 納品書コード、商品コード、商品連番、商品名、色、サイズ、売値、仕入数、出品数量、発送個数、出品在庫数、倉庫在庫 <クエリ> ○グループ  納品書コード、商品コード、商品連番、商品名、色、サイズ、売値、仕入数、出品数量 ○合計(集計)  発送個数 ○出品在庫数(演算)  [出品数量]-[発送個数] ○倉庫在庫(演算)  [仕入数]-[発送個数] <データ状況> テーブルCのデータは約300レコードありますが、そのうち20件ほどしか商品が発送されていない為、テーブルDのデータは20件しかありません。 <望む結果> テーブルCのデータが全て表示され、紐つけられたテーブルDのデータがが存在する場合は、発送個数を表示し出品在個数を演算する。 演算した出品在個数を利用して、倉庫在庫も演算する。 <クエリの実行結果> テーブルCのデータが全て表示されず、テーブルDに紐つけられたレコードのみが表示されるため、約300件のデータではなく、テーブルDに入力されている20件しか表示されない。 --ここまで 目的は、テーブルCのデータを全て表示し、発送情報がテーブルDに入力されているデータについては演算結果を表示する事です。 現状では、テーブルDのデータしかテーブルCのレコードが表示されません。。。。 どうすれば目的のデータを収集できるクエリが作成で切るのか、識者の方のアドバイスをお願いします。

  • アクセスで重複と該当なしコードは入力不可にしたい

    アクセス97で顧客管理をしています。 まだなかなか使いこなせないでいるところがあるのですが、どなたかわかりましたらよろしくお願いします。 テーブルAに1000件以上のレコードがあります。主なフィールドはコードと顧客名と住所などの情報です。そのテーブルにレコードを追加していくのに、フォームから行っています。フォームプロパティのデータ入力を「はい」に設定してるだけです。 ここで問題が2つあります。 (1)例えばフォームからコードを入力する際に、正しいコードであれば良いのですが、間違ったコードを入力してしまってもテーブルに追加されてしまうのです。今はその都度テーブルを開いてその行を削除しています。 正しいコードかコードでないかの判断はテーブルBに存在するコードによって決定します。テーブルBになければ全てエラーにしたいのです。 (2)コードが重複してもいけないのですが、テーブルAのコードのプロパティを重複なしにしているのですが、フォームに一度重複したコードを入力してしまうと、一度開いたフォームを強制終了しなければ先に進めません。 (1)においても(2)においても、例えばメッセージボックスが開いて「正しいコードを入力して下さい」のようなものが開いて、OKをクリックしたら、またコードの入力から始まるような方法はないものでしょうか? ちなみにその顧客コードを入力したら、顧客名が自動的に開く下記VBAをフォームに組んでいます。 Private Sub 店番_AfterUpdate() Me![名前] = DLookup("顧客名", "テーブルB", "顧客コード=" & Me![コード] & " ") End Sub 何卒よろしくお願いします。

  • Access2002のリレーションについて。

    販売管理のデータベースを作成しています。 『販売店マスターテーブル』 販売店コード(主キー) 販売店名 郵便番号 住所 電話番号 営業担当者コード 『営業担当者テーブル』 営業担当者コード(主キー) 営業担当者名 『販売伝票テーブル』 伝票番号(主キー) 売上日 販売店コード この中で、『販売店マスターテーブル』から、販売店コード,販売店名,郵便番号,住所,電話番号,営業担当者コードを、 『営業担当者テーブル』から、営業担当者名を使って、新しいクエリを作成しました。 そのクエリを基にフォームを作成しましたが、フォームに新規レコードを入力できません。 念のため、販売店コードを『販売伝票テーブル』からとってきたら、新規レコードが入力できるようになりました。 これは、何か主キーの関係で入力できないんでしょうか。 もし、『販売伝票テーブル』から販売店コードをとらなくちゃいけないとしたら、それはナゼでしょうか・・。 初歩的なことで申し訳ありませんが、とても困っています。 どなたかお分かりになる方、教えて下さい。 よろしくお願いします。

  • ACCESS

    皆さんのお力添えを頂けますでしょうか? Microsoft ACCESSにおけるレコードの入力について 現在access2010を使い以下のプログラムを作成しています。 (1)テーブル : T_注文明細 (フィールド名)ー(データ型) ・注文ID ー オートナンバー ・商品No ー テキスト ・数量 ー 数値 (2)テーブル : T_注文数 数量として1~10までの数値が入れてあります。 (フィールド名)ー (データ型) ・数量 ー 数値 (3)テーブル: T_商品 (フィールド名)ー (データ型) ・商品Noーテキスト ・商品名ーテキスト ・金額ー通貨 (4)フォーム : F_商品一覧 商品リストが画像付き(商品1種類につき1画像)で示されており、画像をクリックすると 別のフォーム:F_商品○○(添付写真のようなフォームが商品毎に作成されている)へと進みます。 (5)フォーム : F_商品○○ コントロールボックスと、注文ボタンを配置しており それぞれボタンにコードを埋め込んでいます。 ・コントロールボックスについて 値集合ソース : T_注文数 値集合タイプ : テーブル/クエリ 上記(2)のT_注文数をソースに数量:1~10を選択します ・注文ボタンについて 以下の内容でコードを書いています。 Private Sub btn1_Click() Dim oRs As DAO.Recordset 'テーブル読み込み(レコードセット作成) Set oRs = CurrentDb.OpenRecordset("T_注文明細", dbOpenDynaset) 'レコードが見つかった場合 If oRs.NoMatch = False Then 'レコードの内容を書き換えます oRs.Edit oRs("数量").Value = Me.cmbsuuryou5.Value oRs("商品No").Value = "商品No○○" oRs.Update End If 'レコードセットの終了処理 oRs.Close Set oRs = Nothing MsgBox "注文しました。", vbOKOnly + vbInformation, "注文" End Sub 以上を踏まえ、現在下記の点で困っております 問題1: 数量を選択して、注文ボタンを押すとT_注文明細のフィールドに 内容が反映されますが、常に先頭のレコードが上書きされてしまいます。 希望は最新のレコードとしてテーブルに挿入され、既存のレコードを上書きすることなくレコード数を増やしたいのですが、うまくいき ません。 問題2: F_注文にて複数種類の商品をそれぞれ複数個注文した際に T _注文明細に複数のレコードが挿入(注文 ID,商品 No,数量)が挿入されてほしいのですが、 現状では問題 1と同様に、常に先頭のレコードの商品Noと数量だけが上書きされていまい、注文履歴が積み上がりません。 解決せずに困っております。 どなたか、ご教授頂けますでしょうか? よろしくお願いいたします。

  • アクセスのクエリについて

    1.以下の二つのテーブルを作成しました。 ・テーブル1  case_no:数値型  ap_no:テキスト型  ap_date:日付型  kanriID:数値型 ・テーブル2  kanriID:数値型  F_name:テキスト型 2.上記した二つのテーブルの「KanriID」をリレーションシップして、 さらに、下記の項目をピックアップした選択クエリを作成しました。  case_no ap_no ap_date kanriID(テーブル1)  F_name 3.上記のクエリを基に、ウィザードを利用して単票フォームを作成したのですが、データの更新ができないフォームが出来上がってしまいました。  どうしたら、データの更新ができるようになるのでしょうか?