萬用流水號問題

互相學習,一大快事~

版主: 發記

074063
文章: 4
註冊時間: 週三 6月 08, 2016 12:38 am
聯繫:

萬用流水號問題

文章074063 » 週一 7月 18, 2016 1:32 am

感謝發記提供萬用流水號模組, 很好用, 有幾個問題想請教
1. zg_Serial_Mask 模組 INV-[YY][MM][DD]-{99999}, 日期如果有9會被空白掉 (流水號「9」改以「_」替代)
2. Serial_Number 計算內容

代碼: 選擇全部

f_table_1 = Quote ( GetValue ( Substitute ( GetFieldName ( Serial_Number ) ; "::" ; Char ( 13 )) ; 1 ))
s_field_1 = "t1." & Quote ( GetValue ( Substitute ( GetFieldName ( Serial_Number ) ; "::" ; Char ( 13 )) ; 2 )) ;
w_field_1 = "t1." & Quote ( GetValue ( Substitute ( GetFieldName ( Serial_Number ) ; "::" ; Char ( 13 )) ; 2 )) ;
 s_field 和 w_field 是否重覆或是各代表什麼呢

3. 目前有個子表ID問題, 子表ID格式為主表ID(Serial_Number)再加流水號,
  如主表ID為INV-160718, 則子表ID為INV-160718-xx (xx指流水號)
  小弟目前做法如下所述, 不知是否另有想法可不另建字段, 因若使用原碼子表ID帶不出主表ID, 只會顯示 -01, -02, -03....
(1) 先在子表下建立 f_table, s_field, w_field 等字段
(2) 子表ID計算內容以萬用流水號模組下去修改

代碼: 選擇全部

Let ([
prefix = Serial_Number  ;
number_length = 2 ;

f_table_1 = f_table ;
s_field_1 = s_field ;
w_field_1 = w_field ;
criteria_1 = prefix & "%" ;

sqlStatment = "
SELECT Max ( Right ( s_field_1 , " & number_length & " ))
FROM   f_table t1
WHERE  UPPER ( w_field_1 ) LIKE ?
" ;

sqlQuery = Substitute ( sqlStatment ;
[ "f_table_1" ; f_table_1 ] ;
[ "s_field_1" ; s_field_1 ] ;
[ "w_field_1" ; w_field_1 ]
)
] ;

prefix & "-" &
Right ( "000000000000000000000000000000" &
ExecuteSQL ( sqlQuery ; " " ; "" ; criteria_1 ) + 1 ;
number_length )
)
頭像
發記
文章: 164
註冊時間: 週一 8月 10, 2015 10:57 pm
聯繫:

Re: 萬用流水號問題

文章發記 » 週二 7月 19, 2016 12:42 am

1. 多謝 074063 兄提出關於日期含有 9 字的問題,已經將人問題修正了,謝謝~

2. 這些只是我自己寫 SQL 句式的習慣,大家可以按照自己的修改。

3. 子表取流水號這情況我也沒試過,但相信方式也是大同小異,原理是一樣的。

誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 1 位訪客