|
Hi all...Im hoping someone can help us.
For our project, we need to obviously create unique ID's in our tables as one always has to. But we want to include alphabetic characters. For example, in our landlord subsystem, it should generate LL002.
Currently we simply just loop through the collection, add one more, and then concatenate it with the "LL".
However, this seems to work sometimes and not others...so it doesnt seem very stable.
Is there any other way to do it? oh- we using visual basic 2005
thanks
Dazz
|
|
|
|
|
did you try taking the (max) from the table and then add 1 to it?
|
|
|
|
|
Yes we did try take the max out, but then the problem comes in when a record is deleted. For example, if we have ten records but number five is deleted, then since there is now nine records, the next ID will be number 10. But number 10 still exists.
We then tried to simply generate a random number but there is something wrong with our block of code as only the 3 same numbers keeps getting generated.
Dazz
|
|
|
|
|
If you use the Max(column) to insert all your records then the behavior that you speak of wouldn't happen. Meaning, if you delete a record, the key for each record has not been altered. So if you take the Max(column) for the new record the answer will be LL010 still and you add 1 to it. So you will be inserting the new record with the key of LL011.
Select Max(KeyID) From Table 'returns LL010 add 1 and insert new with LL011
You would only be inserting LL010 again if the user deleted LL010 otherwise adding one will always result in a non-duplicate key.
|
|
|
|
|
thanks dude.
that helped
Dazz
|
|
|
|
|
DarynRoberts wrote: However, this seems to work sometimes and not others...
Standard question #1:
What do you mean by "not working"?
---
single minded; short sighted; long gone;
|
|
|
|
|
Heres an idea, assuming SQL Server
Add 3 fields to the table
IDNo int Identity(1,1)
Prefix char(2) default 'LL'
TableID varchar(20)
Add a calc in your insert proc to add prefix & IDNo together and stick into TableID. I think the IDNo may only be generated by the commit of the insert transaction.
You can probably do the last step with a trigger but I loathe triggers so would not recommend it.
OR
do a select top 1 on the id, increment and save with the prefix, caveat this will be nasty on a high use system.
|
|
|
|
|
Perhaps you should reply the original poster instead of me...
---
single minded; short sighted; long gone;
|
|
|
|
|
Just wanted to say thanks to everybody who gave input.
ciao.
Dazz
|
|
|
|
|
Hi
I have a VBA application that reads from a config file on a network drive. It does this fine.
However when I use the File System Object to look for directories below the network path eg:
FSO.FolderExists(path) where path is \\DansComputer
It returns false.
Does this function work accross a network and if so what am I doing wrong. (It has worked fine locally).
Thanks
Dan
|
|
|
|
|
\\DansComputer is the machine name not a folder name
Steve Jowett
-------------------------
Sometimes a man who deserves to be looked down upon because he is a fool, is only despised only because he is an 'I.T. Consultant'
|
|
|
|
|
Thanks for your reply - how do i get it to look at a seperate machine then?
I had assumed it would just see something like \\DansMachine\Work as a folder.
Thanks
Dan
|
|
|
|
|
You have to supply the complete UNC name to the root of a file share at least:
\\servername\sharename\
or somehwere below that:
\\servername\sharename\folder\folder\...
|
|
|
|
|
You first need to share the folder that you wish to access on DansMachine for example give the folder a name like DansSharedFolder then your path variable value should be something like \\DansMachine\DansSharedFolder
Steve Jowett
-------------------------
Sometimes a man who deserves to be looked down upon because he is a fool, is only despised only because he is an 'I.T. Consultant'
|
|
|
|
|
It looks like we've got a couple of "UniVoters" running around today...
|
|
|
|
|
What's a UniVoter?
Steve Jowett
-------------------------
Sometimes a man who deserves to be looked down upon because he is a fool, is only despised only because he is an 'I.T. Consultant'
|
|
|
|
|
Kind of like the "UniBomber". Shows up at random, voting posts a 1 that really don't deserve it.
|
|
|
|
|
Thanks that solves it.
Dan
|
|
|
|
|
how can i clear all the data that appear on the datagride object in order to get another answer to my condition ???
plz any one can help me fastly??
|
|
|
|
|
datagrid or datagridview ?
if datagridview then use following statement to clear all Rows
DataGridView1.rows.clear
and use following statement to clear all Columns
DataGridView1.columns.clear
i have no idea about datagrid
Hope this helps
Rupesh Kumar Swami
Software Engineer,
Integrated Solution,
Bikaner (India)
|
|
|
|
|
thanks u very much it worked
but when i want to get my new answer in the datagrideview it doesn't appear in it
tell me if there is any other soulution
thanks very much
|
|
|
|
|
but when i want to get my new answer in the datagrideview it doesn't appear in it
tell me if there is any other soulution
????
please explain in more simple way. What do you want to know ?
Rupesh Kumar Swami
Software Engineer,
Integrated Solution,
Bikaner (India)
|
|
|
|
|
Can anyone explain me how to use VSprinter in vb 6.0.
Actully i am not getting correct output as i want i am sending you the code pls go through it and tell me wt is wrong in this code.
Dim maindata As ADODB.Recordset
Public db As New ADODB.Connection
Dim connstring As String
Private Sub Form_Load()
connstring = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sqlserver;Password=sqlserver;Initial Catalog=master;Data Source=."
db.ConnectionString = connstring
db.Open
Set maindata = New ADODB.Recordset
maindata.CursorLocation = adUseClient
maindata.CursorType = adOpenDynamic
maindata.Open "select * from login", db, adOpenDynamic, adLockPessimistic
vp.Orientation = orLandscape
vp.PaperSize = pprA4
vp.FontName = "Courier New"
vp.MarginTop = "0.5 in"
vp.MarginBottom = "0.5 in"
vp.MarginHeader = "0.5 in"
vp.MarginLeft = "0.5 in"
vp.MarginRight = "0.5 IN"
vp.ExportFormat = vpxRTF
vp.ExportFile = App.Path + "\tempph.rtf"
vp.StartDoc
vp.Zoom = 100
Header
vp.FontSize = 11
Dim PendingQty As Double
Dim DespQty As Double
Dim totPending As Double
totPending = 0
Do While Not maindata.EOF
' vp.AddTable FormatStr, HeaderStr, maindata!dono & vbCrLf & maindata!dodate & "|" & maindata!CustName & vbCrLf & maindata!IName & "|" & maindata!dcity & vbCrLf & maindata!despdate & "|" & maindata!Unit & "|" & Format(maindata!Qty, "0.000") & "|" & Format(DespQty, "0.000") & "|" & Format(PendingQty, "0.000"), , , True
vp.AddTable formatstr, headerstr, maindata!id & vbCrLf & maindata!Name & "|" & maindata!address & vbCrLf & maindata!phone & "|" & maindata!fax & vbCrLf & maindata!email & "|" & maindata!id & "|" & Format(maindata!id, "0.000") & "|" & Format(id, "0.000") & "|" & Format(id, "0.000"), , , True
'vp.AddTable FormatStr, HeaderStr, maindata!id & maindata!Name & maindata!phone & maindata!address & email, , , True
' vp.AddTable formatstr, headerstr, maindata!phone & "|" & maindata!Name & "|" & maindata!fax, , , True
'vp.Paragraph = FormatS(maindata!Dono, 12) + " | " + FormatS(Left(maindata!custname, 30), 30) + " | " + FormatS(maindata!dcity, 13) + " | " + FormatS(maindata!unit, 6) + " | " + FormatN(maindata!qty, "#######0.000") + " | " + FormatN(DespQty, "######0.000") + " | " + FormatN(PendingQty, "####0.000")
'vp.Paragraph = FormatS(maindata!dodate, 12) + " | " + FormatS(Left(maindata!IName, 30), 30) + " | " + FormatS(" ", 13) + " | " + FormatS(" ", 6) + " | " + (" ") + " | " + (" ") + " | " + (" ")
'vp.Paragraph = FormatS(" ", 12) + " | " + FormatS(" ", 30) + " | " + FormatS(" ", 13) + " | " + FormatS(" ", 6) + " | " + (" ") + " | " + (" ") + " | " + (" ")
'totPending = totPending + PendingQty
If vp.CurrentY > vp.PageHeight - vp.MarginBottom - vp.MarginTop Then
'vp.Paragraph = String(100, "-") + " Continue........"
vp.DrawLine vp.MarginLeft, vp.CurrentY, vp.PageWidth - vp.MarginRight, vp.CurrentY
vp.NewPage
Header
End If
maindata.MoveNext
Loop
vp.DrawLine vp.MarginLeft, vp.CurrentY, vp.PageWidth - vp.MarginRight, vp.CurrentY
vp.FontBold = True
vp.AddTable formatstr, headerstr, "||||| Total |", , , True
vp.FontBold = False
vp.DrawLine vp.MarginLeft, vp.CurrentY, vp.PageWidth - vp.MarginRight, vp.CurrentY
'vp.Paragraph = String(112, "-")
'vp.FontBold = True
'vp.Paragraph = FormatS(" ", 25) + " " + FormatS(" ", 30) + " " + FormatS(" ", 6) + " " + " " + " " + " Total : " + " | " + FormatN(totPending, "####0.000")
'vp.FontBold = False
'vp.Paragraph = String(112, "-")
vp.EndDoc
'cmdExport.Enabled = True
End Sub
Private Sub Header()
vp.FontName = "Arial"
vp.TextAlign = taLeftTop
vp.FontBold = True
vp.FontSize = 20
vp.Paragraph = "Ashapura Volclay Ltd."
vp.FontSize = 14
vp.FontBold = False
vp.Paragraph = "Pending Delivery Report"
vp.FontSize = 12
'vp.Paragraph = "From : " + FormatS(TSDATE, 11) + "To : " + FormatS(TEDATE, 11)
vp.Paragraph = "From : To : "
vp.TextAlign = taLeftTop
vp.TextAlign = taRightTop
vp.Paragraph = "Page No : " & vp.CurrentPage
vp.TextAlign = taLeftTop
vp.FontSize = 10
vp.TableBorder = tbNone
formatstr = "1500|>1600|>1600|>1600|>1600|>1600"
headerstr = "Do No " & vbCrLf & "Do Date|Customer Name " & vbCrLf & "Grade|Despatch City " & vbCrLf & "Despatch Date|Unit|Ord.Qty|Desp.Qty|Pending Qty"
'headerstr = "ID|Name|Phone|Address|Fax|Email"
vp.DrawLine vp.MarginLeft, vp.CurrentY, vp.PageWidth - vp.MarginRight, vp.CurrentY
vp.FontBold = True
vp.AddTable formatstr, headerstr, "||||||||", , , False
vp.FontBold = False
vp.DrawLine vp.MarginLeft, vp.CurrentY, vp.PageWidth - vp.MarginRight, vp.CurrentY
'vp.Paragraph = "DO No " + " | " + "Customer Name " + " | " + "Despatch " + " | " + "Unit " + " | " + " Ord.Qty." + " | " + " Desp.Qty" + " | " + "Pending Qty."
' vp.Paragraph = "DO Date " + " | " + "Grade " + " | " + "City " + " | " + " " + " | " + " " + " | " + " " + " | "
'vp.FontBold = False
'vp.Paragraph = String(112, "-")
End Sub
GIRISH
|
|
|
|
|
How to write code for each button.click to open different picture (from server) into image "box" ?
|
|
|
|
|
That depeds on the type of server you're getting this image from and how you're displaying this image.
|
|
|
|
|