Pozdrav svima,
Prvo) Željku i Shadowed-u, dugujem veliko izvinjenje, što sam postavio nejasno pitanje
i uputio primjer koda koji mi u stvari nije potreban. Shadowed je u pravu, sve je ispalo
“totalno uvrnuto”. Neće se više ponoviti. Big Sorry... svima.
Drugo) Željko, tvoj kod, radi odlično, kada su ista polja po nazivu (različiti Index-i)
ali kada se upisuje samo jedan broj (od 0 do 9).
Ne može dvocifreni broj (Shadowed, opet u pravu). Odličan kod, svakako će poslužiti.
Meni je problem kontrolirati pojedina polja (isti naziv, različiti Index-i), kada treba
upisati kao napr. polja: Najviša Cijena (txtFields(6)),
Najniža cijena (txtFields(7)), Količina (txtFields(14)) i.t.d.
Naravno ima puno drugih polja (neka su Numeric, neka su Alfa) koja su isto txtFields(x).
Želim samo u pojedinim Numeric poljima “natjerati” korisnika
da upiše brojčani iznos a ne slova, (kao što inače znaju: slovo O im je nula).
Uspio sam nekako riješiti sa priloženim kodom, (dosta “grub” kod), ali kako mi je ovo prvi program u VB-u,
a u njemu radim tek par mjeseci, bolje jednostavno ne znam.
Ako uspiješ složiti jednostavniji kod, OK, a ako ne stigneš opet OK, svejedno dugujem ti večeru i piće
(naravno i za “raju” sa foruma piće).
Znam, da vas “stare igrače” u svemu ovome, mi “novi” gnjavimo ali...
Btw: kako da izbacim zvuk, koji se javlja kada upišem broj i stisnem Enter.
Još jednom sorry i HVALA,
Evo kod:
Code:
Private Sub txtFields_KeyPress(Index As Integer, KeyAscii As Integer)
Select Case Index
Case 6
If KeyAscii = 13 And Trim(txtFields(6).Text) <> "" Then
txtFields(7).SetFocus
ElseIf Not (KeyAscii >= 48 And KeyAscii <= 57) Then
If KeyAscii <> 8 Then
KeyAscii = 0
MsgBox ("Morate unijeti brojeve"), vbInformation, App.ProductName
End If
End If
Case 7
If KeyAscii = 13 And Trim(txtFields(7).Text) <> "" Then
txtFields(14).SetFocus
ElseIf Not (KeyAscii >= 48 And KeyAscii <= 57) Then
If KeyAscii <> 8 Then
KeyAscii = 0
MsgBox ("Morate unijeti brojeve"), vbInformation, App.ProductName
End If
End If
Case 14
If KeyAscii = 13 And Trim(txtFields(14).Text) <> "" Then
txtFields(15).SetFocus
ElseIf Not (KeyAscii >= 48 And KeyAscii <= 57) Then
If KeyAscii <> 8 Then
KeyAscii = 0
MsgBox ("Morate unijeti brojeve"), vbInformation, App.ProductName
End If
End If
...
End Select
End Sub