1樓:創作者
你的思路本身就是有問題的,我們都是用儲存過程來生成編碼的,只有你用客戶端來做。你這樣做不是不可以,就是有弊端:
查資料庫速度慢
客戶端多使用者併發操作的時候單號紊亂,可能多個使用者同時生成單號,你該怎麼辦,也有可能乙個使用者查資料庫時間比另乙個長,但是操作比另乙個早,造成他生成單號時間延遲,單號跟時間不想相符,再說客戶端電腦時間也未必統一。
你要給客戶端乙個標準,那就是伺服器。
報錯的原因是這裡mid(c, 5) + 1,你自己看看,字串和數字進行運算format(month(date), "00")日期和字串疊加。
我們做庫存表的時候單單相扣,soa模式是在資料庫服務端建立乙個儲存過程,自動生成單號,然後客戶端傳遞引數觸發他。
2樓:苦樂一輩子
你比較條件中的t是什麼東東?
private sub 清空_click()
dim c as object, fadd as string, no as string
range("c4:e4,b6:h15,c18,e18,h18,j18,j6:j16").clearcontents
'清空同時設定下個入庫編號
with sheets("入庫明細表").range("b6:b" & sheets("入庫明細表").[b65536].end(xlup).row)
set c = .find(left(range("j2"), 6), lookin:=xlvalues, lookat:=xlpart)
if not c is nothing and instr(1, c, "cprk" & format(month(date), "00")) <> 0 then
fadd = c.address
dono = left(c, 4) & format(mid(c, 5) + 1, "000")
set c = .findnext(c)
loop while not c is nothing and c.address <> fadd
else
no = "cprk" & format(month(date), "00") & "001"
end if
end with
range("j2") = no '入庫編號
end sub
vb自動編碼的問題 200
3樓:創作者
你仔細看看這句話的邏輯:
if not c is nothing and t = format(month(date), "00") then
fadd = c.address
dono = left(c, 4) & format(mid(c, 5) + 1, "000")
弱弱地問一句c是nothing,還能取位數嗎?這麼可能不報錯...
還有你確定你是用的vb繼承開發環境,你這叫vba,excel內嵌模組
vb自動生成編號
4樓:
沒有實際的資料庫表等,只能給你大概演算法
在資料庫中查詢計畫單號的前面幾位是pl+yyyymmdd的最大值記錄如果沒有返回值,則新編號是pl+yyyymmdd+0001如果有返回值,取返回值的後四位,做加1處理,得到新編號
我用vb做了個程式,我想讓它每次開機都悄悄自動執行,**怎麼寫 150
5樓:匿名使用者
在登錄檔"hkey_local_machine\software\microsoft\windows\currentversion\run"項中把你的程式路徑填上就能自動執行了。隱藏其他圖示是什麼意思,沒看懂。隱藏自身可以呼叫api完成。
6樓:匿名使用者
1、下次開機時自動執行,可以修改登錄檔或使用登錄檔修改程式修改即可;
2、自身隱藏,比較簡單,使其執行,但是後台執行,不顯示窗體即可;
3、並且繼續隱藏其他圖示,指的是什麼?是所有的圖示嗎?
說清楚,可以幫您做。
7樓:
開機時自動執行並且繼續隱藏其他
excel 自動填寫的vb**
8樓:
sub 填寫
dim a,b as integer
a=[a65536].end(3).row -1'獲取當前表(表1)中小組數量
b=sheet2.[bi].end(xltoleft).row+1'獲取表2中最後一次填寫的列號
sheet2.cells(2,b).resize(a,1).
value=sheet1.cells(2,"g").resize(a,1).
value '取值,表2中的第乙個空白列貼上表1中g列的值
[a2:g20].clearcontents '清除表一資料,假設小於等於20行資料
end sub
複製 除第一行和最後一行的**,貼上到你對按鈕的編輯巨集或者 控制項按鈕的單擊指令中
9樓:陽光上的橋
**如下(工作表上滑鼠右鍵、檢視**、貼上內容,以後alt+f8執行):
sub 儲存總分()
n=sheets(1).usedrange.rows.count-1
i=sheets(2).cells(2,columns.count).end(xlleft).column+1
arr=sheets(1).cells(2,"g").resize(n,1)
sheets(2).cells(2,i).resize(n,1)=arr
end sub
10樓:匿名使用者
這個是vba**,不是vb**哦。
11樓:
最好有輸入值顯示為第幾周,可好
vb在資料庫中自動建立編號
12樓:網海1書生
1、可以直接利用資料庫的自動編號字段,省心省力;
2、利用當前時間生成:
format(now(), "yyyymmddhhnnss"
3、用隨機數生成,但有可能會出現相同的編號:
randomize
format(rnd * 100000000, "00000000")
可以把2、3結合使用
比如在寫入資料庫時:
rs("編號") = format(now(), "yyyymmddhhnnss" & format(rnd * 1000, "000")
13樓:匿名使用者
那你先查資料庫中最後一條資料 再加1
或者查有多少個記錄 再叫1 不過要保證你不刪除資料str_sql = "select count(no1) as countno from cc "
adors.open str_sql, adocnn, 1, 1xh = adors.fields(0).value + 1adors.close
str_sql = "insert into cc(no1,dw,rq) values(" & xh & ",'" & combo1.text & "',#" & dtp1.value & "#)"
debug.print str_sql
adocnn.execute str_sql
將以下問題轉化成vb編碼的結果是什麼啊
vb設計自動列印,求助 利用VB設計列印複雜報表的問題!
1.你需要安裝企業版,標準版沒那個功能,然後用datareport 設計器。2.在datareport設計器裡有 rpttextbox 控制項,還有線條控制項等,用他們來設計你的報表,設定 rpttextbox 繫結的成員 datamember屬性 在你的列印按鈕裡加入 你的資料來源 如 adodc...
用VB弄個自動按鍵可以關閉的,用VB弄個自動按鍵 可以關閉的
dim f1 as boolean,f2 as boolean,f5 as boolean dim n1 as long,n2 as longprivate sub form keydown keycode as integer,shift as integer form1.cls print ke...
VB怎麼讓字型顏色有規律的自動變化
魚木混豬喲 可以用定時器來實現 以下 示例,label中的字型顏色,有規律地依次變化為紅 黃 藍 模型 窗體form1,定時器timer1,標籤label1 private sub form load timer1.interval 500 啟動定時器,並將觸發間隔設定為0.5s end sub p...