アクセス2000を使用しています。
フォームでテーブルにデータを入力しています。
フィールド1に【みかん A-1】と入力するとフィールド2に自動的に【みかん】と
空白の前の文字を返したいのですが可能でしょうか?
必ず半角のスペースが間に入りますのでその前の文字(文字数は決まってません)を
自動で入力されるようにしたいです。
テーブルのフィールドにも入力されるように反映もしたいです。
DLookupではやはりフィールド全体になりますよね?
分かりにくい説明ですがよろしくお願いします。
初心者ですので分かりやすく教えて頂けると助かります。
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.5
- 回答日時:
>テーブルのフィールドにも反映したい。
失礼。ここは読んでいませんでした。連結列は
Private Sub フィールド1_BeforeUpdate(Cancel As Integer)
Me.[フィールド2] = CutStr([フィールド1] & "", " ", 1)
End Sub
と、イベントを利用すべきでした。
この回答への補足
イベントでしてみたのですがコンパイルエラーがでます。
SubまたはFunctionが定義されていません。となるのですが
イベントに書き込むだけではダメなのでしょうか?
No.4
- 回答日時:
Q1、上のコードはどこにしたらいいのでしょうか?
A1、標準モジュールに関数(Function)として登録します。
Q2、テキスト3とは?
A2、フィールド2に相当します。
つまり、標準モジュールにDlookup()と同じ働きをする関数CutStr()を登録。
もって、[フィールド2]のコントロールソースを指定して目的を達成。
そういう回答です。
この回答への補足
フィールド2には文字はでますがやはりコントロールソースを変更してしまうと
テーブルに反映されずに入力できていませんでした。
テーブルに反映されるようにしたいです。
やり方を勉強したいので、あれば教えて下さい。
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は
新たにどこかに作る感じですか?
全くの無知でお恥ずかしいです。。。
お探しの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も見ています
-
「どうして捨てられないの?」前妻の物を捨てられない男性の心理って?
前妻の物を捨てられない理由に加え、捨てるための手段はあるのかを専門家に聞いてみた!
-
Access フィールドに入力した値を、同じテーブルの別のフィールドにコピーしたい。
Access(アクセス)
-
Access 同じデータをたくさんのレコード(同一列)に一度に入力するには
Access(アクセス)
-
「Access」のフォームで、同じデータの入力の手間を省くには?
Access(アクセス)
-
-
4
アクセスに自動入力を入れたい
Access(アクセス)
-
5
AccessでIDを入力したら他の項目も自動で表示
Access(アクセス)
-
6
Accessチェックボックス 一度で複数のチェックを入力
Access(アクセス)
-
7
アクセスで追加した項目に全て同じ値を一発で入れたい
Access(アクセス)
-
8
ACCESSでVBAから選択クエリの抽出条件を指定したい
Access(アクセス)
-
9
ACCESS クエリの抽出条件で全てを抽出したい
PowerPoint(パワーポイント)
-
10
前のレコードの値を自動で入れたい
PowerPoint(パワーポイント)
-
11
アクセスで『0の値以外』を表示する方法
Access(アクセス)
-
12
レコードを保存するコード アクセスvba
その他(Microsoft Office)
-
13
アクセスのfilter、複数条件の記述方法を教えてください。
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
アクセスで入力したデータの順...
-
ExcelからAccessデータを検索す...
-
accessのフィールドに10桁の数...
-
「#エラー」の回避
-
FileMakerで、フィールドの値が...
-
Accessでボタンを押すと今日の...
-
追加クエリ実行時に入力した文...
-
FileMakerで繰り返しフィールド...
-
ACCESSでデータ変更箇所が分か...
-
差し込み文書のルールで if the...
-
住所の改行について
-
アクセス Access 時間の引き算
-
FileMakerで画像をまとめて書き...
-
WORD差し込み印刷:日付の処理 ...
-
ファイルメーカーの集計方法を...
-
FileMakerで外部保存PDFを開く方法
-
A1、A2、A3・・・とデータを増...
-
ワードでプルダウン項目を作りたい
-
Accessフォームで平均値の出し...
-
ファイルメーカー:計算フィー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「#エラー」の回避
-
アクセスで入力したデータの順...
-
ExcelからAccessデータを検索す...
-
差し込み文書のルールで if the...
-
accessのフィールドに10桁の数...
-
Access フィールド内の値で、...
-
Accessで値がnullの場合は計算...
-
フィールドの中のテキストを分...
-
Accessでボタンを押すと今日の...
-
access フィールドのサイズ(文...
-
FileMakerで、フィールドの値が...
-
MS-WORDで、あるフィールドに入...
-
ACCESSでデータ変更箇所が分か...
-
MS-ACCESSで中央値(ME...
-
ファイルメーカー複数フィール...
-
WORD差し込み印刷:日付の処理 ...
-
アクセス Access 時間の引き算
-
WORDフィールドコード一括編集
-
Wordでページ番号を計算式で入...
-
accessのVBAで変数名でフィ...
おすすめ情報