Ovo za komade riješi na ovaj način:
Trebaš imati tabelu npr.
MjerneJedinice
----------------
ID PK
Naziv
i onda u tabeli Proizvodi napravi ovako
Proizvodi
----------
SifraProizvoda PK
SifraMjJed FK
i onda makni onaj combo box iz stavki računa i stavi obično readonly polje u kojem češ prikazati mjernujedinicu.
Na taj način sam može dodavati mjerne jedinice i definirati ih u proizvodima, a ti možeš zaboraviti na taj problem.
Isplati ti se to napraviti, za to preraditi češ izgubiti max 2h, a ako pustiš ovako, možeš imati kasnije puno većih problema.
Šta se tiče zaštite aplikacije, evo ti dio koda u VB-u koji sam ja nekad davno napravio, nadam se da će ti pomoći. Ako nešto nije jasno, pitaj slobodno.
Code:
Private Sub cmdunesi_Click()
Dim reg As String
txtreg.SelStart = 0
txtreg.SelLength = Len(txtreg.Text)
reg = txtreg.SelText
If Text1.Text = "" Then Unload Me
If Text2.Text = reg Then
Dim i As Long, vl As String
Dim kod As String
For i = (2 - 1) To 1 Step -1
vl = stt1.GetString("HKEY_CURRENT_USER\Software\Test\Data", CStr(i), "")
'stt1.LetString "HKEY_CURRENT_USER\Software\Test\Data", CStr(i + 1), vl
Next i
stt1.LetString "HKEY_CURRENT_USER\Software\Test\Data", CStr("naziv"), Text1.Text
Dim upis As String
Dim neki As String
upis = abc
tina = upis + 18051983 & "voy"
Dim puta As String
puta = "\k.ini"
Dim retval As Long
retval = WritePrivateProfileString("Galileo", "Kod", _
neki, App.Path & puta)
Unload Me
Else
MsgBox "Unijeli ste krivi registracijski kod.", vbInformation, "Poruka"
Text2.SetFocus
End If
'Dim a, b As String
End Sub
Private Sub Text1_LostFocus()
Dim niz As String
Dim mjesto As Integer
Dim broj As Integer
niz = Text1.Text
Dim a, b, c, d, e, f, g, h, i, j, k, l, m, n As Integer
Dim poc As String
Dim slova As String
slova = Mid(UCase(Text1.Text), 3, 2)
Do
mjesto = InStr(mjesto + 1, niz, "a", vbTextCompare)
If mjesto <> 0 Then broj = broj + 1
Loop Until mjesto = 0
a = broj
Do
mjesto = InStr(mjesto + 1, niz, "e", vbTextCompare)
If mjesto <> 0 Then broj = broj + 1
Loop Until mjesto = 0
b = broj
Do
mjesto = InStr(mjesto + 1, niz, "i", vbTextCompare)
If mjesto <> 0 Then broj = broj + 1
Loop Until mjesto = 0
c = broj
Do
mjesto = InStr(mjesto + 1, niz, "o", vbTextCompare)
If mjesto <> 0 Then broj = broj + 1
Loop Until mjesto = 0
d = broj
Do
mjesto = InStr(mjesto + 1, niz, "u", vbTextCompare)
If mjesto <> 0 Then broj = broj + 1
Loop Until mjesto = 0
e = broj
Do
mjesto = InStr(mjesto + 1, niz, "l", vbTextCompare)
If mjesto <> 0 Then broj = broj + 1
Loop Until mjesto = 0
f = broj
Do
mjesto = InStr(mjesto + 1, niz, "g", vbTextCompare)
If mjesto <> 0 Then broj = broj + 1
Loop Until mjesto = 0
g = broj
Do
mjesto = InStr(mjesto + 1, niz, "n", vbTextCompare)
If mjesto <> 0 Then broj = broj + 1
Loop Until mjesto = 0
h = broj
Do
mjesto = InStr(mjesto + 1, niz, "p", vbTextCompare)
If mjesto <> 0 Then broj = broj + 1
Loop Until mjesto = 0
i = broj
Do
mjesto = InStr(mjesto + 1, niz, "b", vbTextCompare)
If mjesto <> 0 Then broj = broj + 1
Loop Until mjesto = 0
j = broj
Do
mjesto = InStr(mjesto + 1, niz, "r", vbTextCompare)
If mjesto <> 0 Then broj = broj + 1
Loop Until mjesto = 0
k = broj
Do
mjesto = InStr(mjesto + 1, niz, "t", vbTextCompare)
If mjesto <> 0 Then broj = broj + 1
Loop Until mjesto = 0
l = broj
Do
mjesto = InStr(mjesto + 1, niz, "c", vbTextCompare)
If mjesto <> 0 Then broj = broj + 1
Loop Until mjesto = 0
m = broj
Do
mjesto = InStr(mjesto + 1, niz, "d", vbTextCompare)
If mjesto <> 0 Then broj = broj + 1
Loop Until mjesto = 0
n = broj
abc = a & c & d & l & m & n
poc = "FD" & a & b & c & "6" & d & e & f & UCase(slova) & g & h & "1" & i & j & k & "2" & l & m & n & "MD" & UCase(slova)
txtreg.Text = poc
End Sub
Više se niti ja ne sjećam šta sam točno radio, i uzmi u obzir da ovo nije neka ekstra zaštita, ali može poslužiti.
Pozdrav,
f