「レコード番号」(範囲内のヌル以外のセルの数)に基づいて一意のID番号を生成できるExcel VBAフォームを構築しました。手紙、手紙、会計年度(すなわち、17年度、2016/17年度)、および別の手紙。フォームフィールドに基づくID番号の作成 - アクセス
コード、会計年度、および他の文字は、すべてのユーザからの入力に基づいて、その数は、次の形式のコードで得られ、明らかに自動生成されています以下
001-A17Sエクセルれます以上の結果生成するコード:
Application.ScreenUpdating = False
Worksheets("Project Tracking").Activate
DeliveryPartnerCode = lbl_DeliveryPartnerCode
FinancialyearString = txt_FinancialYear.Text
Financialyear = Right(FinancialyearString, 2)
nonfilledCells = WorksheetFunction.CountA(Range("A5:A100"))
AWRNumber = nonfilledCells + 1
AWRNumberstring = CStr(AWRNumber)
If (AWRNumber < 9) Then
AWRPrefix = "00"
ElseIf (AWRNumber < 99) Then
AWRPrefix = "0"
Else
AWRPrefix = ""
End If
If cmb_State.ListIndex = 0 Then
State = "S"
ElseIf cmb_State.ListIndex = 1 Then
State = "N"
ElseIf cmb_State.ListIndex = 2 Then
State = "Q"
ElseIf cmb_State.ListIndex = 3 Then
State = "V"
ElseIf cmb_State.ListIndex = 4 Then
State = "A"
End If
lbl_AWRReference = AWRPrefix & AWRNumberstring & "-" & DeliveryPartnerCode & Financialyear & State
Application.ScreenUpdating = True
にこのbastardised Excelスプレッドシートは、もはや私たちの使用に適していない、と私はAccessで、適切なデータベースを作成することに決めました。
私は、会計年度のためのテキストボックスを(000のマスクでオートナンバー)適切な列を持つテーブルを設定し、コードと最後の文字のボックスをドロップダウンしています。しかし、私は今どのように正しい形式を与えるためにすべてを一緒に連結するか分からない、フォーム上のテキストボックスに結果を配置します。式ビルダーを使用することはできません(オートナンバーを選択することはできません)。上のExcel VBAコードのような同様の計算を実行するためのVBAコードを記述する構文やロジックが見つかりません。
私が探しているものを達成する最良の方法は何ですか?私はAccessでプレーしたので、それは5年間となっている認めるので、私は少しあいまいだ:P
感謝。
このようなタスクでは、オートナンバーを使用しないでください。 _Custom Autonumber_のためにSOを検索する - たくさんのヒット。 – Gustav
これを保存しようとしているのか、それとも単に表示していますか(単純に計算できる場合は保存しないでください)。それをフォームに表示するには、基本となるフォームのクエリでそれを作成します。最後にそして最も重要なのは - 何を試しましたか? – Minty
@Gustavしかし、私はまだ、DMaxの計算された数値を得る方法や、ユーザーが必要とするフォーマットに提供する他のデータについてはまだ分かりません。アドバイスはありますか? – scb998