[ _SASA_ @ 07.03.2008. 14:00 ] @
Cao,

Ovaj kod koristim da upisem redan u bazu u accessu uz pomoc VB:
Code:

        Dim adoCom As New ADODB.Command
        adoCom.ActiveConnection = Adodc1.ConnectionString

         adoCom.CommandText = "INSERT INTO svi_brojevi(Naziv, Broj, Kartica)" & _
                          "VALUES('" _
                          & naziv & "','" _
                          & broj & "','" _
                          & kartica & _
                          "')"
         adoCom.Execute



i ovo radi,
ali sada bih htio da provjerim da li vec imam taj broj u bazi ako imam da ga onda ne unes, pokusao sam sa:

Code:

    Dim rezultat As ADODB.recordset
    Set rezultat = New ADODB.recordset

  

             adoCom.CommandText = "INSERT INTO svi_brojevi(Naziv, Broj, Kartica)" & _
                          "VALUES('" _
                          & naziv & "','" _
                          & broj & "','" _
                          & kartica & _
                          "')" 
      Set rezultat = adoCom.Execute

    If rezultat.BOF = True Then
       MsgBox "NEMA"
    Else
       MsgBox "IMA"
    End If




ali ne radi...svaki put mi izbavi msgbox sa IMA iako ga uopce nema u tablici

da li mi netko moze pomoci

HVALA...
[ Aleksandar Ružičić @ 07.03.2008. 14:28 ] @
pokusaj prvo neki ovakav upit:
Code:

"SELECT COUNT(*) AS exists FROM svi_brojevi WHERE Broj = " & Cstr(broj)

pa onda ako ti je 'exists' > 0 vec imas taj broj a ako je 0 onda ga nemas..
[ _SASA_ @ 08.03.2008. 09:38 ] @
Hvala na pomoci ali taj upit uopce ne mogu ni pokrenuti unutar visual basica 6

evo linka sa cijelim projektom http://www.mediafire.com/?xm9ttdgjgcm

pa ako netko moze pogledati bio bih mu zahvalana...
[ goranvuc @ 08.03.2008. 09:53 ] @
Zameni onaj tvoj red
Code:

CommandText = "SELECT COUNT(*) AS exists FROM svi_brojevi WHERE svi_brojevi.Broj=""0995499996"""

sa sledecim:
Code:

adoCom.CommandText = "SELECT COUNT(*) AS Postoji FROM svi_brojevi WHERE svi_brojevi.Broj='" & broj & "'"


Bile su dve greske:

1. Alijas ne moze biti exists jer je to rezervisana rec.
2. Nacin na koji navodis tekstualne izraze nije bio dobar, moras koristiti apostrofe.

Dalje, moras ispitati vrednost od "Postoji" a ne BOF i EOF.

Umesto
Code:

If rezultat.BOF = True Then
   MsgBox "DDDD"
Else
   MsgBox "VVVV"
End If

treba
Code:

If rezultat("Postoji") > 0 Then
   MsgBox "Ima"
Else
   MsgBox "Nema"
End If


Ajd polako
[ Aleksandar Ružičić @ 08.03.2008. 11:52 ] @
Citat:
goranvuc:
1. Alijas ne moze biti exists jer je to rezervisana rec.

heh,u MySQL-u moze :)
[ goranvuc @ 08.03.2008. 12:13 ] @
Izvinjavam se na nepreciznosti, pa da se ispravim:

1. Alijas ne moze biti exists jer je to rezervisana rec kod MS Access baza podataka koju koristis u tvom primeru. Za druge DBMS nisam proveravao.
[ Shadowed @ 08.03.2008. 12:38 ] @
Stavis u [] :)
[ goranvuc @ 08.03.2008. 12:49 ] @
Izgleda da se ovde moderatori bas dosadjuju
[ Aleksandar Ružičić @ 08.03.2008. 12:54 ] @
izgleda :)
[ _SASA_ @ 09.03.2008. 10:34 ] @
Ok, hvala "goranvuc" proba sam i to radi bez problema..

...postoji jos jedna stvar koju bih htio uciniti ali ne znam kako...

... zelio bih izvuci naziv i broj od svih recorda(0..N) kojima je "Ne_uzmi" polje postavljeno na "No"...

To sam pokusao sa sljedecim kodom, naravno nije mi uspijelo jer inace ne bih pitao:

Code:

Private Sub cmdGenerirajDatoteku_Click()
    Dim mFileSysObj As New FileSystemObject  ' General declaration
    Dim mFile As File                        ' General declaration
    Dim mTxtStream As TextStream             ' General declaration
    
    Dim broj As String
    Dim naziv As String
    
    Dim rezultat As ADODB.Recordset
    Set rezultat = New ADODB.Recordset
    
    Dim adoCom As New ADODB.Command
    adoCom.ActiveConnection = Adodc1.ConnectionString
    'http://msdn2.microsoft.com/en-us/library/ms681504(VS.85).aspx
    
    CommonDialog1.ShowSave
    
    ' Create and Get the file
    mFileSysObj.CreateTextFile (CommonDialog1.FileName)
    Set mFile = mFileSysObj.GetFile(CommonDialog1.FileName)
    
    
    ' Open a text stream for reading from a file
    Set mTxtStream = mFile.OpenAsTextStream(ForWriting)
    
    adoCom.CommandText = "SELECT Naziv, Broj AS naziv, broj FROM svi_brojevi WHERE svi_brojevi.Ne_uzmi=No"
    MsgBox adoCom.CommandText
         
    Set rezultat = adoCom.Execute
    'http://www.freevbcode.com/ShowCode.Asp?ID=3687
    
    rezultat.MoveFirst
    If rezultat.BOF = True Then
        MsgBox "NA POCETKU SAM"
    Else
        MsgBox "NISAM NA POCETKU"
    End If
    
    MsgBox rezultat("naziv")
    MsgBox rezultat("broj")
    'rezultat.MovePrevious
    MsgBox rezultat("naziv")
    MsgBox rezultat("broj")
    
    Exit Sub
    
    'do until rezultat.MoveNext
    'Loop
    
    Adodc1.Refresh
End Sub


ja shvacam da ja bas nemam dobro razumjevaje ovoga ADODB.Recordset-a tj., kao se on treba koristiti i sto se moze uciniti sa njim, pa ko znas neki link gdje je to dobro objasnjeno(sa malo naprednijim primjerima) molim te da ga staviš

P.S. stavio sam cijeli projek na http://www.mediafire.com/?uwy1gyxgitp pa ako netko zeli moze baciti pogled...

HVALA svima...
[ Aleksandar Ružičić @ 09.03.2008. 15:56 ] @
da prebrojis broj redova koristi COUNT(*) u sql upitu, znaci ovako nesto:
Code:

SELECT Naziv, broj, COUNT(*) AS broj_redova FROM svi_brojevi WHERE svi_brojevi.Ne_uzmi=No
[ _SASA_ @ 10.03.2008. 08:04 ] @
Da ovo shvacam...

ali ja zelim dobiti listu(vector- sto vec) naziva i bojeva kojima je Ne_uzmi=No, tako da onda te nazive i borjeve uopisem u datoteku(ovo sam upisom u datoteku znam), ali ne znam kako uzeti sve nazive i brojeve kojima je Ne_uzmi=No


[moderator: izbrisan nepotreban citat]

[Ovu poruku je menjao Aleksandar Ružičić dana 11.03.2008. u 21:07 GMT+1]
[ _SASA_ @ 11.03.2008. 19:25 ] @
pa nije valjda da nitko nezna... :-(
[ Aleksandar Ružičić @ 11.03.2008. 20:09 ] @
Code:
SELECT naziv, broj FROM svi_brojevi WHERE Ne_uzmi = 'No'
[ goranvuc @ 11.03.2008. 20:19 ] @
Mala ispravka jer je polje "Ne_uzmi" logickog tipa:
Code:

SELECT naziv, broj FROM svi_brojevi WHERE Ne_uzmi = No

ili jos ispravnije
Code:

SELECT naziv, broj FROM svi_brojevi WHERE Ne_uzmi = False
[ Aleksandar Ružičić @ 12.03.2008. 14:13 ] @
ja sam mislio da je Enum tipa, ako taj tip i postoji u Access-u...
[ _SASA_ @ 12.03.2008. 18:39 ] @
SELECT naziv, broj FROM svi_brojevi WHERE Ne_uzmi = False

Ovo radi, hvala goranvuc