Visual Basic で Access のフィールドに値をセットする方法

このQ&Aのポイント
  • Visual Basic 2005 Express Editionを使用して、ボタンをクリックすると特定のフィールドに文字列をセットするVBを作成したい
  • AccessのVBに未経験で困難を感じているが、同僚からのアドバイスも動作しない
  • クリップボード内の値をアクセスのフィールドにペーストする方法も分からず、助けを求めている
回答を見る
  • ベストアンサー

アクセスのフィールドに値をペースト(VB・Access)

Visual Basic 2005 Express Editionで、 フォーム上のボタンをクリックすると変数内の文字列を Accessフォームの特定のフィールドにセットするというVBを作りたいのですが、 AccessのVBは未経験であるため難儀しております。 Accessのフィールドに値を入れるところがわかりません。 AccessVB初心者の同僚は以下のように教えてくれましたがまったく動きません。 Dim copy_text Dim myAccess copy_text = "○○株式会社" set myAccess = CreateObject("Access.Application") myAccess.Forms("フォーム1").Controls("会社名").text = copy_text 本来"○○株式会社"は変数ではなくクリップボード内に入っています。 なのでクリップボード内の値をアクセスのフィールドにペーストするのでもかまいません。 ネットはいろいろ調べていますが、未経験の自分は基礎編・入門編であっても理解できません。 未経験の自分が作ることに問題がありますが、他にやる人がいないので仕方がありません。 どなたか助けて下さい(涙)

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

探したらこんな方法ありました・・・ すでに開いているなら Dim myAccess copy_text = "○○株式会社" Set myAccess = GetObject(, "Access.Application") myAccess.Forms("フォーム1").Controls("会社名").Text = copy_text Set myAccess = Nothing とかではどうでしょう? エラーチェック必要ですが。 開くなら http://www.ken3.org/vba/backno/vba015.html などがありました。

cobra1
質問者

お礼

あ、できたできた! ありがとうございます。 ただし"会社名"のフィールドがフォーカスされてないとエラーになってしまいますね。

関連するQ&A

  • AccessのVBAにおいて,アクセスフォームに表示されている「値」を

    AccessのVBAにおいて,アクセスフォームに表示されている「値」を変数の中に格納したい。  例えば,オートフォームの単票形式でフォームを作成した場合,「番号」「製品」といったフィールドが2個あるテーブルを使うと,「番号」「製品」という名前のテキストボックスが2個ほどできます。 (フィールド名やテキストボックス名は問題ではありません。) このフォーム上に「ボタン」を配置し,このボタンをクリックした時に,「製品」というテキストボックスの内容を,メッセージボックスで表示させたい。 MsgBox (Me.製品.Text) と書いてもエラーとなります。 実際には,このフォームで欲しいデータを見つけた時,ボタンクリックで,テキストボックスに表示されている内容をグローバル変数に格納したいのですが,方法が分かりません。 Access 初心者です。どなたかよろしくお願いします。

  • Accessで、親フィールドに子フィールドの値を入れたいのですが

    親フィールドの[テキストボックスA]に [テキストボックスB]-子フィールドのフッターにある[テキストボックスC] という式の値を表示させたいのですが。 Aのコントロールソースに = [B]-[子フィールド名].フォーム![C] と入力すると「#Name?」となり、「フォーム」を「Form」とすると空欄になるのですが、どこを直せばいいのでしょうか。 [B]は数値です。 [C]はsum関数が入っていて、普通に表示されてます。 宜しくおねがいします。

  • Accessで、他の二つのフィールドの値を結合し自動的に入力する

    Accessについて質問です テーブル  フィールド1(テキスト)  フィールド2(テキスト)  フィールド3(テキスト) フィールド3の値はフィールド1と2の値を結合させた値を自動で入力し フィールド1や2を更新すると、自動的にフィールド3の値も更新される というのはできますでしょうか?

  • SQLでフィールド番号を指定する方法(VB2008

    お世話になっております。 VB2008を用いてアクセスのテーブルからデータを読み込もうとしているのですが(oledb接続)、 ・特定のフィールドからのみ値を取得したい ・そのフィールド指定は変動する これを満たす方法を、VB6では 格納変数=テーブル名.Fields(フィールド番号) によって取得出来ていたのですが、vb.netの場合どのような方法があるのかわかりません。 何かアドバイスを頂けると幸いです。

  • 3つのテキストボックスの値を1つのフィールドに保存

    ご指南ください フォーム上の3つのテキストボックスの値Q ・S・ DをAというテーブルのBというフィールドに保存したいのです   Bフィールド値 QSD としたいのです よろしくお願いいたします ( アクセス2003 OS XP )

  • DAOでフィールドの値を変更する

    MDBファイルにDAOでアクセスし、フィールド(今回の場合Fields(4))の値をTextBox内の値に変更する方法がわかりません。 Dim WS As DAO.Workspace Dim DB As DAO.Database Dim RS As DAO.Recordset 'レコードを特定する処理 RS.Fields(4).Value = TextBox.Text RS.Update どのように直せばいいのでしょうか??

  • ACCESS2000 VBA フォームのコントロールに値を転記

    <やりたいこと> 保存されているレコードのフィールド値を修正するために、修正用非連結フォームを開くとき、当該レコードの値を転記したい。 <できないこと> コンボボックスに値が転記できない。 (テキストボックスには値が転記できる。) Private Sub Form_Load() Dim Sql As String Sql = "SELECT* FROM T_履歴 WHERE NO.=" & Key & ";"  'KeyはPublic変数、別のフォームモジュール内で値が格納されている。  'Keyによって、レコードはひとつに絞られている。 Dim DB As ADODB.Connection Set DB = CurrentProject.Connection Dim RS As New ADODB.Recordset RS.Open Sql, DB, adOpenForwardOnly, adLockOptimistic, adCmdText Me!氏名combo = RS!氏名 ↑この式で思うような結果が得られない。  .Text .Value のプロパティを付加しても結果は同じ。  ACCESS97ではこのように コンボボックス名="値" で、  値が代入され、コンボのソースの中からその値が選ばれた状態になったのに…。  

  • EXCEL/VBA 変数の値をクリップボードにコピーする方法

    EXCEL/VBAで、変数Xの値をクリップボードにコピーする方法を教えて貰えませんか。下記のように変数Xを一度セルに代入すると出来ますが、変数Xを直接クリップボードにコピーする方法が分かりません。 宜しく、お願いします。 Range("a1") = X Range("a1").Copy

  • アクセスでエラー このフィールドに入力した値が正しくありません

    こんにちは他にもアクセスのことで質問していますが 前任者の引継ぎで2000で発注書・在庫管理DBをつくっています。 数年ぶりにアクセスを触る初心者です 発注フォームに特定の商品を選択すると 以下のようなエラーがでてきます -2147352567 (80020009)' このフィールドに入力した値が正しくありません どなかた解決策をご存知の方よろしくおねがいします

  • 画面のフィールドの値を共通処理関数で読み書きしたい

    Access2013 VBAで、現在システムを開発しているところですが、 フォーム上の帳票のボタンを押した時の処理が、複数の画面で共通なので共通処理として使用したいと考えていますが、その時に、画面のフィールドの名前を変数に変えてどのように画面のフィールドに値をセットすればよいでしょうか。 よろしくお願いします。

専門家に質問してみよう