4章 カスタマイズ /4-3フォーム参照で指定範囲を表示する[Access] |
<[郵便番号]テーブルの準備> |
<フォームに範囲指定参照機能を追加> |
Private Sub 新郵便番号_AfterUpdate() '更新後処理 '[住所1]更新 Dim ctlJyu1 As Control Set ctlJyu1 = Me![住所1] Dim ctlMe As Control Set ctlMe = Me![新郵便番号] If IsNull(ctlJyu1) Then ctlJyu1 = ctlMe.Column(1) Else If Not (ctlJyu1 Like ctlMe.Column(1) & "*") Then ctlJyu1 = ctlMe.Column(1) End If End If '[郵便番号範囲]更新 Me![郵便番号範囲] = Me![新郵便番号] End Sub Private Sub 新郵便番号_Enter() 'フォーカス取得時 Dim ctlMe As Control Dim strBuf As String Set ctlMe = Me![新郵便番号] If Not IsNull(ctlMe.Text) Then If Not IsNull(Me![郵便番号範囲]) Then strBuf = Me![郵便番号範囲] '郵便番号範囲取得 Else strBuf = "0000000" End If With ctlMe .RowSourceType = "Table/Query" '値集合タイプ .RowSource = "SELECT * FROM 郵便番号クエリー WHERE 郵便番号7桁 Like '" & strBuf & "*';" .ColumnCount = 2 '列数 .ColumnHeads = True '列見出し .ColumnWidths = "2cm;7cm" '列幅 .BoundColumn = 1 '連結列 .ListRows = 8 'リスト行数 .AutoExpand = False '自動拡張 .Requery '再クエリー(上記設定を実行) End With End If End Sub
If Not IsNull(Me![新郵便番号]) Then ' Me![郵便番号範囲] = Me![新郵便番号] End If<追加後の内容>
Private Sub Form_Current() 'レコード移動時 apFrmCurrent Me If Not IsNull(Me![新郵便番号]) Then ' Me![郵便番号範囲] = Me![新郵便番号] End If Me![顧客名].SetFocus 'フォームを開いたときのカーソルの位置 End Sub
| |
|