# Shkenca > Informatikë dhe Internet > Arti i programimit >  Visual Basic: Për një artikull të regjistruar me 'barkod'

## niti81

Kam ni Baz te dhenave ne Access, per ni lokal timin te cilin e kam kryr vet 
Por po me duhet ni ndihm e juaja, po me duhet  nje Kod 
ne VB i cili
nese  tentohet ta regjistroj  perseri ni artikull me barkod te njejt 
me pa paraqit mesazhin si aj barkod gjendet ne baz.nese kish mujt kush mem ndihmu 
kish qen mir.

----------


## hot_prinz

po e marrim se ke nje tabele me emrin "artikujt" ne ate tabele gjindet nje kolone me emrin "Barcode". 



```

    'deklarojme nje variabel per rekordset te tabeles
    Dim rekordsetiIm As DAO.Recordset
    
    'deklarojme nje variabel boolean per vleren nese barkodi gjindet ne tabele
    Dim ekzistonNeTabele As Boolean

    'deklarojme variablen qe mban barkodin e skanuar apo te shkruar
    Dim barkodiLexuar As String
    
    'mbushim rekordsetin me permbajtjen e tabeles Artikujt
    Set rekordsetiIm = CurrentDb.OpenRecordset("Artikujt", dbOpenTable)

    'variable boolean e inicializojme me false
    ekzistonNeTabele = False

    'variablen e barkodit po e shkruajme thjesht sa per test
    barkodiLexuar = "123456789"
    
    'proceso deri ne fund te tabeles
    Do Until rekordsetiIm.EOF

        'nese barkodi i lexuar gjindet ne kolonen "Barkode"
        If barkodiLexuar = rekordsetiIm.Fields("Barkode") Then

            'vandos variablen boolean ne true
            ekzistonNeTabele = True

            'perfundo do
            Exit Do

        End If

        'kalo ne rreshtin tjeter
        rekordsetiIm.MoveNext

    Loop
    
    If ekzistonNeTabele = False Then
        MsgBox "Ketu vie kodi per futjen e Barkodit ne tabele!", vbInformation
    Else
        MsgBox "Barkodi existon ne tabele!", vbInformation
    End If
```

----------


## niti81

kish qen ma mir mi marr nje shembull ne ni form pasi qe une nuk kam  fort njohori 
ne visual Bazik  nese mundesh me marr ni shembull  ne form

----------


## hot_prinz

Nuk po muj me te kuptu si me e marre ni shembull ne Form  :xx: 

Ndoshta te ndihmon ky shembull ne Visual Basic!

----------


## niti81

une kam nedu ni form  nese kishe mujt ne Access me ban e jo ne   VB 6.0
por ne ne Vb Aplikacjon te Accessit   nese  kish pas mundesi  form te  Accessit une vetem  nese mundesh merre ni shembull

----------


## hot_prinz

Niti, 

kodi i postuar ne pergjigjen e pare ishte per Access VBA. Por pastaj krijova nje shembull ne Visual Basic i irrituar nga titulli i temes "Visual Basic:...". 
Mire, tani po vendosi nje shembull tjeter  Databaza me tabelen Artikujt dhe me nje Form <Artikujt>, eshte e krijuar me Access 2007 sepse ketu nuk kam Access 2003, shpresoj se nuk do te nxjerr telashe!
Per cdo rast po e vendosi edhe kodin e formes se databazes per metoden e nje butoni ne formen <Artikujt> me emrin <Ruaj>:



```
Option Compare Database

Private Sub Ruaj_Click()

    Dim rekordsetiIm As DAO.Recordset
    Dim ekzistonNeTabele As Boolean
    Dim barkodiLexuar As String
    
    Set rekordsetiIm = CurrentDb.OpenRecordset("Artikujt", dbOpenTable)
    ekzistonNeTabele = False
    Barkodi.SetFocus
    barkodiLexuar = Trim(Barkodi.Text)
    
    'kerkimi se a ekziston barkodi ne tabele
    Do Until rekordsetiIm.EOF
        If barkodiLexuar = rekordsetiIm.Fields("Barkodi") Then
            ekzistonNeTabele = True
            Exit Do
        End If
        rekordsetiIm.MoveNext
    Loop
    
    If ekzistonNeTabele = False Then
        'ignorojme gabimet qe i hudh accessi per vlerat e paformatuara
        On Error Resume Next
        'fusim artikullin ne databaze
        CurrentDb.Execute ("INSERT INTO Artikujt " & "(ID,Barkodi, Artikulli, Cmimi) VALUES ('" _
                & ID.Text & "', '" & Barkodi.Text & "', '" & "', '" & Artikulli.Text & "', '" & Cmimi.Text & "');")

        MsgBox "Artikulli u fut ne tabele!", vbInformation
        
        'rifreskimi i setit dhe databazes pas futjes se artikullit
        DoCmd.Requery
        DoCmd.GoToRecord , , acLast

    Else
        MsgBox "Barkodi existon ne tabele!", vbCritical
    End If
    

    
    Set rekordsetiIm = Nothing
      
End Sub
```

Nese ke probleme me implementim, mund te ma dergosh databazen(me te dhena testuese) dhe do e ndryshoj.

Kujdes: databazen ne skedarin e bashkangjitur nuk mund e kompresoja ne .zip sepse tejkalonte limitin e madhesise, e kompresova me .rar por pasi qe formati .rar nu lejohej per bashkangjitje e ndrrova ne .txt. Per ta dekompresoar ndrro prapashtesen prej .txt ne .rar dhe dekompreso me WinRar.

----------


## niti81

merre shembullin

----------


## niti81

shiko ket shembull

----------


## hot_prinz

cfare shembulli me marre? 
Ta dergova e-mailin me mp dergoma atje nese ke probleme me e bashkangjite skedarin.

----------


## niti81

ne access regjistroj 3 artikuj
 edhe bane ni form te thjesht
vetem kodin jepja

----------


## Ardi_Pg_ID

Hot_prinz je qe je beja te gatshem se ma mer mendja kete gje po kerkon ky miku  :perqeshje: 

Me qarte se aq ska ku te veje

Ardi

----------


## hot_prinz

i bashkangjita me pare pergjigjes, tani e vendosa ne rapidshare:

http://rapidshare.com/files/161034212/Artikujt.zip.html

----------


## hot_prinz

> Hot_prinz je qe je beja te gatshem se ma mer mendja kete gje po kerkon ky miku 
> 
> Me qarte se aq ska ku te veje
> 
> Ardi


Ardi,

edhe une i propozova ate, se me mbaruan gati shkronjat  :buzeqeshje: .

----------


## niti81

nuk mundem kursesi me kupti pa e dhan ni shembull aj shembulli si e ke publiku ne Rapidsharr nuk po shkarkohet jepe nje shembull ne Access

----------


## hot_prinz

oo Niti,


shembullin ne access e kam bashkangjite si skedar ketu ne forum, vetem lexoje me kujdes dhe vepro si te kam keshilluar. Poashtu nga rapidshare shembulli mund te shkarkohet, kete e kam provuar vete, sidoqofte po mundohem te spjegoi me disa fjale te shkurtera se si shkarkohet nga rapidshare nese nuk jeni parapagues apo <premium user> ne rapidshare: 

 - mbas klikimit te linkut kalon te faqja e rapidshare, ne ate faqe (perafersisht ne mes te faqes) shfaqen dy butona, e shtyp njerin me emrin <Free User>, pastaj ne po ate pjese te faqes te shfaqet nje <countdown> i sekondave ..45,44,43.... e keshtu me radhe, kur countdown-i perfundon do shfaqet nje buton <download> per shkarkim. 

Prapeseprape nese nuk ia arrin te shkarkosh nga rapidshare, ma dergo e-mailin tend permes mesazhit privat e atehere une do ta dergoj ate shembull, nese edhe kjo mundesi nuk mund te realizohet, do mundohemi te aranzhojme ndonje metode klasike.. do ta dergoj me leter ose do e lidhi ne kembe te pellumbit!

----------


## Toni07213

une vete punoj ne access me ni combobox i cili me sherben edhe per kerkim edhe per verifikim se a ekziston artikull me barkod te njejte, nese egziston barkod i njejte ateher e shton si artikull te ri dhe ne fushen e barkodit e vendos vleren e combobox-it ja shembulli:
 ' Find the record that matches the control.
    Dim rs As Object
    ' Per shkak te specifikave te kodit te artikujve jepet:
' Shtojca AAA:
    Set rs = Me.Recordset.Clone
    Me.Combo50.Value = Format(Me.Combo50.Value, "0000000000000")
    rs.FindFirst "[Barkodi] = '" & Me![Combo50] & "'"
    Me.Bookmark = rs.Bookmark
Ky eshte kushti qe e kontrollon se a ekziston artikull me barkod te njejt
    If Me.ASh_e_artikullit <> Me![Combo50] Then
        DoCmd.GoToRecord , , acNewRec
        Me.Barkodi= Me![Combo50]
                Exit Sub
    End If

----------


## Uke Topalli

> Kam ni Baz te dhenave ne Access, per ni lokal timin te cilin e *kam kryr vet*  
> Por po me duhet ni ndihm e juaja, po me duhet  nje Kod 
> ne VB i cili
> nese  tentohet ta regjistroj  perseri ni artikull me barkod te njejt 
> me pa paraqit mesazhin si aj barkod gjendet ne baz.nese kish mujt kush mem ndihmu 
> kish qen mir.


Se pari mungon verzioni i VB ne te cilin ke nevoj per ndihme, si shembull VBA, VB6, VB.NET 2003, VB.NET 2005, VB.NET 2008 (windows form), VB.NET 2008 (WPF). Se dyti, po te ishte e vertet pjesa e theksuar e postimit tend, atehere une te kisha rekomanduar ta paguash hot_Prinzin ose dike tjeter per ta permiresuar programin sepse duke u bazuar ne mungesen e dijenise ne programim qe e demonstrove ne menyre kaq te sukseseshme; "programi" (aplikacioni i accessit nuk mund te quhet program) qe e ke krijuar ti me siguri eshte plot mangesi.

Pershendetje te sinqerta

----------

