• ベストアンサー

アクセスのモジュールの中で

OSは アクセス97 です。 文字列で 例えば "AAABB"とあるとします。 同じフォームの中で "AAA”という文字列を持っている場合 この時、残りの"BB"を取得する方法は あるのでしょうか? "VVEEE" となったとき、"VV"は あるのです。 宜しくお願いします。

  • cdma
  • お礼率36% (91/247)

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

  • ベストアンサー
  • jaws
  • ベストアンサー率34% (30/87)
回答No.2

こんばんは。 例えば、フォーム1にテキストボックA、テキストボックスBがあるとします。 そしてテキストボックスAの先頭から連続でテキストボッkスBの文字が入っているとします。 テキストボックスA="AAAABBCC" テキストボックスB="AAAA" 上のようなイメージだとすると sub() dim CTL1,CTL2 as control dim len1 as integer dim str1,str2,str3 as string set CTL1 = [Forms]![フォーム1]![テキストボックスA] ’オブジェクト変数 set CTL2 = [Forms]![フォーム1]![テキストボックスB] ’オブジェクト変数 str1 = CTL1.value 'AAAABBCC str2 = CTL2.value 'AAAA len1 = InStr(1, str1, str2, 1)) 'テキストぼっくすBの文字列が見つかる位置 select case len1 case 1 '先頭から見つかった場合    str3=Right(str1,len(str1)- len(str2)) ' 8-4=4 右から4文字分獲得 case else '途中から見つかった場合    str3=Right(str1,len(str1)- len(str2)) -len1) end select end sub

cdma
質問者

お礼

遅くなりました ご回答ありがとうございました。 実施したところ 上手くいきました "文字の位置" というのがポイントでした。 ありがとうございました。

その他の回答 (1)

noname#102878
noname#102878
回答No.1

状況がまったく見えません. フォームはどんなフォームですか? 1. 単票 2. 帳票 AAAってなんですか? 1. コントロールの名前 2. フィールドの値 3. コンピュータのホスト名 「取得する」結果を何に収めたいのですか? 1. 変数 2. 他のコントロール 3. この手に 「VVEEEとなったときVVはあるのです.」ってどういう意味ですか? 1. 担当者が入力中に居眠りしてキーを押しっぱなしにしたデータだが偶然にも正しいデータだった 2. 私は日本人じゃないので日本語がわからない どんな状況において,どのタイミングで,何を,どうしたいのですか? 1. 帳票形式フォームに付けたコマンドボタン[検索]を押すと,ある列のテキストボックス全体を対象として,全てのデータの中から,値の先頭が指定した文字列と合致するデータ全体を変数に取得したい. 2. 文字列で たとえば "AAABB"とあるとします.同じフォームの中で "AAA"という文字列を持っている場合,この時,残りの "BB" を取得したい. "VVEEE" となったとき,"VV" はあるのです. 参考URLをよーく読んでください.

参考URL:
http://www.geocities.co.jp/SiliconValley/5656/, http://www.hyuki.com/writing/techask.html
cdma
質問者

補足

失礼しました。早速のご指摘ありがとうございます。 参考URLも読んでおきます。 1 フォームは 単票です 2 AAAはフィールドの値です 3 取得する というのは    文字列の中から 特定の文字列を 取り出したいのです… >4 文字列で たとえば "AAABB"とあるとします.同じフォームの中で "AAA"という>文字列を持っている場合,この時,残りの "BB" を取得したい. この内容です。 あるテキストボックス(Aとします)に入っているデータから別のテキストボックス(Bとします)に入る値を引いた残りの値を 変数に取りたいのです。 この時、Aの中には 必ず Bの値が含まれます。 よって 言葉でいえば "引く"というのが どうすればいいのかわかりません。

関連するQ&A

  • ACCESS2007 TRUEが-1

    お世話になっております。 OS:Windows7 Pro ACCESS2000のDBをACCESS2007で開いて使用しております。 Excel2007のデータを、ACCESSのフォームの左側のバー(なんで言うんでしょう 汗)に貼り付けてインポートもどきをしております。 Excelの中に「TRUE」「FALSE」という文字列があるのですが、 これをACCESSに貼り付けると「-1」「0」となってしまいます。 以前から同じDBを使用しており、OS:WinXP、ACCESS2000だった時は、 貼り付けると「TRUE」「FALSE」という文字列になっていました。 「TRUE」「FALSE」という文字列にするには、何か方法ありませんでしょうか。 ちなみにExcelは外部から送られてくるデータの為、Excelファイル内で いろいろ編集するのは避けたいです。 出来たらACEESSの受け側で何かできると良いのですが。 宜しくお願い致します。

  • AccessからAccessを開く

    Access2003です。 今AAA.mdbのフォームを開いています。このフォーム上にボタン(このボタンの正式名称は分かりません。たしかツールの中に入っていたもの)を貼り付けこのボタンをクリックして新たにBBB.mdbを開く方法を教えて下さい。 尚AAA.mdbもBBB.mdbも同じホルダーにあります。 BBB.mdbに書き込んだ後BBB.mdbを閉じると画面にはAAA.mdbが残っているようにしたいです。

  • Accessボタンで並び替え

    ACCESS97を使用しています。 フォーム上のボタンで、並び替えを実行したいのです。 対象フォームは、あるデータ(テーブル名:AAA)の 項目BBと項目CCの条件を使って選択クエリーGG を元に 帳票フォームで表示しています。 フォームFFF上には、BBと CCの入力テキストBOX、BB,CCがあるととします。 BBとCCでフィルタをかける場合、 DoCmd.ApplyFilter "", "[GG]![BB] =[Forms]![FFF]![BB]" & _ "AND [GG]![CC]= [Forms]![FFF]![CC]" というマクロでフィルタ実行されたデータが表示されますが、 項目BB、CCで、昇順、降順にソートしたい場合、 そのようなマクロはあるのでしょうか? 宜しくお願いします。

  • ACCESS 2000での自動発番

    Microsoft Access2000で固定の文字+数字(AAA00001など)のように自動発番をしたいのですが、どうにもいきずまってしまいお力をお貸しください。 現在の (テーブル)  品番テーブル   品番   名前   備考    (フォーム)  品番発番フォーム   品番   名前   発番ボタン  品番発番フォームより名前を入力し発番ボタンをクリックし固定の文字+数字(AAA00001など)の自動発番した品番を、品番テーブルの品番の中に入れてたい。 発番ルールは  文字(AAA)+5桁の数字です。 宜しくお願いします。

  • アクセス(ACCESS)のリストボックスについて

    アクセスでフォームにテキストボックスとリストボックスを配置して、 テキストボックスに入力した文字列により、リストボックスに表示される データを変えたいのですが(フィルタをかけるというのでしょうか??) そこで、vbaを用い、リストボックスのプロパティの値集合ソースに SELECT * FROM aaa where aaa.bbb like "*あ*"; 'あ と言う文字のあいまい検索のつもり ”あ”はテキストボックス    に入力されている。 と入るような事を考えたのですが、ここで、aaaの部分がテーブルを基にした 場合は、該当するデータすべてが表示されますが、クエリーを基にすると 先頭のデータしか表示しないのです。 たぶん、素人の考えなのでしょうが、どうしてそうなるのかが分かりません。 教えていただけないでしょうか? できたら、クエリーを基にしても、該当データが表示できる方法も 教えてください。お願いします。 VBAは(?)かなりの初心者です。上記の方法も本に書いてあった物を やっと流用しました。猿にも解るくらいでお願いします。 ちなみに、アクセスは2000を使用しています。

  • ACCESS97 のモジュールの中 何番目かの データを取得したい

    ACCESS97 のモジュールの中で SQLを使用しています。 SQLを使用して あるテーブルの任意のレコードを選択したいのです。 例えば テーブルAが下記のようにあるとします。 項目 名前 番号 A 001 B 003 D 004 という場合に名前Bの番号003を取得したいのです。 データとしては、"2"番目の2 は取得可能です。  (フォーム上のテキストBOXで入力) Set DATABASE = CurrentDb() strSQL = "SELECT * FROM テーブルA WHERE " strSQL = strSQL + "**** = '" & **** & "' ;"     ↑ここに条件をどのように持てばいいのでしょうか? ※ ここで、名前の項目ではキーとなる項目は得られません。   今回は 何番目のデータを取得したい ということが可能かどうか    教えて頂きたいと思います。

  • Accessにてテキストと画像を埋め込みたい

    Access2010で電子カルテシステムもどきを作っています。 いわゆる"2号用紙"に書くように、文字列と画像を記録し、 入力した順番で表示させたいのですが、 Accessのテキストボックス内には当然ですが画像は表示できません。 そこで2つの方法を考えています・・・ ■1案 レコードに記録された文字列と画像をHTML化して Accessのフォーム内に表示させようと考えております。 (問題点) あくまでHTMLを表示するだけなので 元のレコード(文字列や画像)を修正できなくなります(?)。 ■2案 フォームで一つのコントロール内に表示する。 (問題点) 文字列と画像が混ざっているので、一つのコントロールだと どちらか片方しか表示できないと思います。 なんとかAccess(VBA)文字列と画像を一度に表示させたいのですが、 1案でHTML化したレコードを修正する方法、もしくは 2案の一つのコントロール内に文字列と画像を表示させる方法は可能でしょうか。

  • アクセスのフォームについて

    アクセス2000について質問です。他の方の作ったフォームを加工して作業しているのですが、文字があらかじめ入っていて、フォームを開くたびにその文字を訂正しなければいけません。これを解除する方法はないですか。また、2桁の数字を入力しようとすると、「文字列が長すぎます」とでて、1桁になってしまいます。どうすれば2桁を入力することが出来るでしょうか。初心者ですので、もしかしたら簡単なことかもしれませんが、よろしくご指導下さい。

  • AccessのVBAについて

    Access2002を使っています。 次の状態になっています。    \AA\果物.mdb \BB\料理.mdb AAとBBのそれぞれのフォルダーに「果物」と「料理」のAccessが作られています。 現在、「料理」を開いて作業をしていて、「果物」の中の「在庫記録」というフォームを通して「在庫」というテーブルに、データを書き込みたいと考えています。 「料理」から「果物」の「在庫記録」というフォームを開く方法(VBAの記載方法)がわかりません。 教えてください。

  • Accessのフォーム上のWebBrowserにhtmlを指定したい。

    Accessのフォーム上のWebBrowserに任意の文字列を表示させる場合、 一度、その文字列を含んだtextファイルを作成し、そこへnavigate していましたが、直接、htmlをWebBrowserに指定することはできない ものでしょうか?

専門家に質問してみよう