_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
Copyright (C) 2001-2008 by www.elitesecurity.org. All rights reserved.