アクセス2000を使用しています。
フォームでテーブルにデータを入力しています。
フィールド1に【みかん A-1】と入力するとフィールド2に自動的に【みかん】と
空白の前の文字を返したいのですが可能でしょうか?
必ず半角のスペースが間に入りますのでその前の文字(文字数は決まってません)を
自動で入力されるようにしたいです。
テーブルのフィールドにも入力されるように反映もしたいです。
DLookupではやはりフィールド全体になりますよね?
分かりにくい説明ですがよろしくお願いします。
初心者ですので分かりやすく教えて頂けると助かります。
No.1
- 回答日時:
Option Compare Database
Public Function CutStr(ByVal Text As String,
ByVal Separator As String,
ByVal N As Integer) As String
Dim strDatas() As String
strDatas = Split("" & Separator & Text, Separator, , 0)
CutStr = strDatas(N * Abs(N <= UBound(strDatas)))
End Function
上の CutStr関数を使うと簡単に実現できます。
? CutStr("AAA BBB", " ", 1)
AAA
? CutStr("AAA BBB", " ", 2)
BBB
この回答への補足
上のコードはどこにしたらいいのでしょうか?
画像ではテキスト3のコントロールソースがありますがテキスト3は
新たにどこかに作る感じですか?
全くの無知でお恥ずかしいです。。。
No.3ベストアンサー
- 回答日時:
フィールド1の更新後処理のイベントで、
Private Sub フィールド1_AfterUpdate()
Dim var As Variant
'split関数で変数varに文字列を半角スペースのところで分離して格納します。配列です。
var = Split(Me!フィールド1, " ")
'分解した文字列の最初を取り出しフィールド2にいれます
Me!フィールド2 = var(0)
End Sub
でいいのでは?
更新後処理ですから、フィールド1に入力後
フィールド2などをクリックしてフォーカス
を移動するようにします。
No.4
- 回答日時:
Q1、上のコードはどこにしたらいいのでしょうか?
A1、標準モジュールに関数(Function)として登録します。
Q2、テキスト3とは?
A2、フィールド2に相当します。
つまり、標準モジュールにDlookup()と同じ働きをする関数CutStr()を登録。
もって、[フィールド2]のコントロールソースを指定して目的を達成。
そういう回答です。
この回答への補足
フィールド2には文字はでますがやはりコントロールソースを変更してしまうと
テーブルに反映されずに入力できていませんでした。
テーブルに反映されるようにしたいです。
やり方を勉強したいので、あれば教えて下さい。
No.5
- 回答日時:
>テーブルのフィールドにも反映したい。
失礼。ここは読んでいませんでした。連結列は
Private Sub フィールド1_BeforeUpdate(Cancel As Integer)
Me.[フィールド2] = CutStr([フィールド1] & "", " ", 1)
End Sub
と、イベントを利用すべきでした。
この回答への補足
イベントでしてみたのですがコンパイルエラーがでます。
SubまたはFunctionが定義されていません。となるのですが
イベントに書き込むだけではダメなのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) アクセスの更新クエリでカレントレコードのみ更新したい 1 2022/06/02 23:32
- その他(データベース) Accessのクエリで1フィールドの抽出条件設定をNullでなく全角半角含む空白のみの文字列でない文 1 2023/04/24 15:20
- Access(アクセス) Accessテーブルの結合で別々のテーブルのフィールドを組み合わせて値を出す方法について 2 2022/07/20 19:43
- Access(アクセス) Accessフォームで複数条件でフィールドの値を表示する方法 4 2022/07/21 10:47
- その他(データベース) 更新クエリをリンクデータベーステーブルに実行し実行時エラー3362固有インデックスに重複する値が含ま 1 2022/09/21 11:44
- Access(アクセス) Accessフォーム 一部のレコードだけを抽出する方法について 1 2022/06/28 18:45
- その他(コンピューター・テクノロジー) 【Tableau Desktop】文字列から8桁の数字を日付型(yyyyMMdd)として取得 1 2023/07/31 10:17
- その他(データベース) Accessフォームからパラメーターで表示したレコードを指定のExcelのセルへ転送する方法について 2 2022/08/22 18:04
- Access(アクセス) Accessのクエリの結果を、既存のエクセルに追加したい 2 2022/07/31 22:44
- Access(アクセス) capeofdragonと申します。 Access2016を使っております。 あるフォームがあり、テ 2 2022/09/09 13:18
このQ&Aを見た人はこんなQ&Aも見ています
-
外出時に「待たせる妻」vs イライラする「待つ夫」は日本だけ?見習いたい海外事情
夫の家事参加に積極的なイメージのある海外でも、同様の事例はあるのか。結婚カウンセラーの佐竹悦子さんに伺ってみた。
-
Access フィールドに入力した値を、同じテーブルの別のフィールドにコピーしたい。
Access(アクセス)
-
アクセスに自動入力を入れたい
Access(アクセス)
-
前のレコードの値を自動で入れたい
PowerPoint(パワーポイント)
-
-
4
アクセスで追加した項目に全て同じ値を一発で入れたい
Access(アクセス)
-
5
「Access」のフォームで、同じデータの入力の手間を省くには?
Access(アクセス)
-
6
Access 同じデータをたくさんのレコード(同一列)に一度に入力するには
Access(アクセス)
-
7
access2019 チェックボックスと連動したクエリ抽出条件について
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
アクセスで入力したデータの順...
-
accessのフィールドに10桁の数...
-
「#エラー」の回避
-
アクセス 入力した文字を自動...
-
ExcelからAccessデータを検索す...
-
Accessで値がnullの場合は計算...
-
差し込み文書のルールで if the...
-
MS-ACCESSで中央値(ME...
-
FileMakerで特定フィールドを空...
-
Accessでボタンを押すと今日の...
-
WORD差し込み印刷:日付の処理 ...
-
ファイルメーカーでフォルダパ...
-
ファイルメーカーでフィールド...
-
access フィールドのサイズ(文...
-
Access フィールドに入力した...
-
Accessで、他の二つのフィール...
-
ファイルメーカーで英字だけ取...
-
フィールドの値が数値かどうか...
-
インディックスまたは主キーに...
-
フィールドの中のテキストを分...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
アクセスで入力したデータの順...
-
「#エラー」の回避
-
差し込み文書のルールで if the...
-
accessのフィールドに10桁の数...
-
ExcelからAccessデータを検索す...
-
Accessで値がnullの場合は計算...
-
Accessでボタンを押すと今日の...
-
FileMakerで画像をまとめて書き...
-
WORD差し込み印刷:日付の処理 ...
-
Access フィールド内の値で、...
-
ACCESSでデータ変更箇所が分か...
-
FileMakerで、フィールドの値が...
-
MS-WORDで、あるフィールドに入...
-
access フィールドのサイズ(文...
-
フィールドの中のテキストを分...
-
Wordでページ番号を計算式で入...
-
FileMakerで外部保存PDFを開く方法
-
ファイルメーカーの集計方法を...
-
ワードでプルダウン項目を作りたい
-
Access フィールドに入力した...
おすすめ情報