2017-02-27 7 views
0

「レコード番号」(範囲内のヌル以外のセルの数)に基づいて一意の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

感謝。

+0

このようなタスクでは、オートナンバーを使用しないでください。 _Custom Autonumber_のためにSOを検索する - たくさんのヒット。 – Gustav

+1

これを保存しようとしているのか、それとも単に表示していますか(単純に計算できる場合は保存しないでください)。それをフォームに表示するには、基本となるフォームのクエリでそれを作成します。最後にそして最も重要なのは - 何を試しましたか? – Minty

+0

@Gustavしかし、私はまだ、DMaxの計算された数値を得る方法や、ユーザーが必要とするフォーマットに提供する他のデータについてはまだ分かりません。アドバイスはありますか? – scb998

答えて

1
lbl_AWRReference = AWRPrefix & AWRNumberstring & "-" & DeliveryPartnerCode & Financialyear & State . 

嬉しいです。

関連する問題