Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

brisanje polja iz baze dbf

[es] :: Visual Basic 6 :: brisanje polja iz baze dbf

[ Pregleda: 1727 | Odgovora: 13 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

milekrajina
Mile Pole
srednja skola
Sabac

Član broj: 222417
Poruke: 67
93.87.196.*



Profil

icon brisanje polja iz baze dbf05.07.2009. u 15:25 - pre 180 meseci
Zbog cega mi sa ovim kodom nece da izbrise polje iz dbf baze:

Adodc1.Recordset.Delete
Adodc1.Recordset.MoveNext


Pole
 
Odgovor na temu

milekrajina
Mile Pole
srednja skola
Sabac

Član broj: 222417
Poruke: 67
93.87.196.*



Profil

icon Re: brisanje polja iz baze dbf07.07.2009. u 09:33 - pre 180 meseci
svaki savet dobro dosao
Pole
 
Odgovor na temu

dzigilibonglica
NS

Član broj: 200040
Poruke: 294



+17 Profil

icon Re: brisanje polja iz baze dbf07.07.2009. u 11:46 - pre 180 meseci
Pojasni malo mitanje:

Mislis li na celu kolonu, ili na jedan pojedinacni zapis iz te kolone?

Ovo sto si ti napisao sluzi za brisanje zapisa. Naravno moras prvo da podesis recordset da ti bude odredjenog tipa. I naravno naredba Delete ti je nepotpuna odnosno uradice ti nesto po default vrednosti, a ako ne znas sta je default, onda nisi siguran sta si uradio :( .
Evo ti primer za ovo sto si ti pokusao kako bi trebalo da se radi (ili bar kako ja radim).

Code:
 
Private Sub IzbrisiRec()
Dim Reci As ADODB.Recordset

    Set Reci = New ADODB.Recordset
    Reci.CursorType = adOpenDynamic
    Reci.CursorLocation = adUseClient
    Reci.LockType = adLockOptimistic
    
    Reci.Open "SELECT * FROM Reci WHERE Sifra='" & RSifra & "'", baza, , adCmdTable

        Reci.MoveFirst
        Reci.Delete (adAffectCurrent)

    Reci.Update
    Reci.Close
   
End Sub


Naravno pre svega treba da razumes recordset (sta je i kako funkcionise). Prvo ga definises, a bas od toga ti zavisi da li je nesto sto brises izbrisano samo kod tebe ili je se izvsilo i na bazi. Stoga sam ti i definisao Recordset u ovom primeru, ako je mozda tu greska. Delete naredba se uvek pise sa parametrom (da li sve ili samo onaj na kojem je kursor).

Ako zelis da izbrises polje(kolonu) da uopste ne postoji u tabeli, to onda radis objektom Command.

Naravno ovo ti je za MDB ili DBF, a ako je neka druga baza u pitanju, ovo sve moze biti skroz drugacije. I ako zelis da izbrises celu kolonu iz tabele, to ne zavisi samo od tvog koda vec i od baze (ne mozes brisati primarni key, ako je u drugoj bazi to forign key, odnosno postoji relacija, moras prvo nju da izbrises itd...)
Pisi ako treba jos pomoci.
 
Odgovor na temu

milekrajina
Mile Pole
srednja skola
Sabac

Član broj: 222417
Poruke: 67
93.87.196.*



Profil

icon Re: brisanje polja iz baze dbf07.07.2009. u 12:44 - pre 180 meseci
Meni treba da mi on kada kliknem na tu sifru u dbGridu i kliknem na taster -Izbrisi- izbrise mi sve podatke za tu
sifru u bazi CMD_001.dbf?
Pole
 
Odgovor na temu

captPicard
programer
more i planine

Član broj: 216084
Poruke: 1119



+19 Profil

icon Re: brisanje polja iz baze dbf07.07.2009. u 13:34 - pre 180 meseci
Taj kod gore je to šta ti treba.
F
 
Odgovor na temu

dzigilibonglica
NS

Član broj: 200040
Poruke: 294



+17 Profil

icon Re: brisanje polja iz baze dbf07.07.2009. u 15:22 - pre 180 meseci
U tom slucaju sve ostaje isto, samo kod naredbe Delete promeniti vrednost u zagradi da bude sledece:

Reci.Delete(adAffectAllChapters)

Inace ako imas u tom zapisu bilo koje polje koje je PrimaryKey, a to se nalazi u nekoj drugoj tabeli kao foreign key, a relacija nema cascade delete, nece ti raditi!

Pozdrav!
 
Odgovor na temu

milekrajina
Mile Pole
srednja skola
Sabac

Član broj: 222417
Poruke: 67
93.87.196.*



Profil

icon Re: brisanje polja iz baze dbf08.07.2009. u 09:27 - pre 180 meseci
Ne radi mi ovaj kod.
Ne znam sto,ali nece
Pole
 
Odgovor na temu

dzigilibonglica
NS

Član broj: 200040
Poruke: 294



+17 Profil

icon Re: brisanje polja iz baze dbf08.07.2009. u 11:59 - pre 180 meseci
JBG. Procitaj u mojoj prethodnoj poruci sta sam ti napisao zbog cega moze da se desi da nece da radi..... Primary->Forign Key (relacije)

A ako je sve to zadovoljeno pa ipak ne radi onda probaj ovaj kod. Ovo ti je malo budz u d*pe reshenje, i nije tako elegantno niti se bas praktikuje, al ce da radi:

Code:

Private Sub IzbrisiRec()
Dim Reci As ADODB.Recordset
Dim BrojZapisa, i as integer

    Set Reci = New ADODB.Recordset
    Reci.CursorType = adOpenDynamic
    Reci.CursorLocation = adUseClient
    Reci.LockType = adLockOptimistic
    
    Reci.Open "SELECT * FROM Reci WHERE Sifra='" & RSifra & "'", baza, , adCmdTable
    BrojZapisa=Reci.RecordCount
    
    For i=0 to BrojZapisa-1
        Reci.MoveFirst
        Reci.Delete (adAffectCurrent)
        Reci.Update
    Next i
    Reci.Close
   
End Sub


Pa nek je sa srecom...
Ako ti ni ovo ne radi, onda ne znam u cemu gresish i ja ti vise ne mogu pomoci.
 
Odgovor na temu

captPicard
programer
more i planine

Član broj: 216084
Poruke: 1119



+19 Profil

icon Re: brisanje polja iz baze dbf08.07.2009. u 12:16 - pre 180 meseci
Ajde barem kopiraj svoj kod ovdje, a ne da igramo kviz. I napiši na kojoj liniji ti baca grešku, opis greške...
F
 
Odgovor na temu

milekrajina
Mile Pole
srednja skola
Sabac

Član broj: 222417
Poruke: 67
93.87.196.*



Profil

icon Re: brisanje polja iz baze dbf08.07.2009. u 13:48 - pre 180 meseci
Code:

Baca gresku na ovoj liniji:
Reci.Open "SELECT * FROM Reci WHERE Sifra='" & RSifra & "'", baza, , adCmdTable
Greska je :
Run-time error 3001
Arguments are of the wrong type,are out of acceptable range, or are in conflict
with one another
Kod je sledeci:
Dim Reci As ADODB.Recordset
Dim BrojZapisa, i as integer

Set Reci = New ADODB.Recordset
Reci.CursorType = adOpenDynamic
Reci.CursorLocation = adUseClient
Reci.LockType = adLockOptimistic

Reci.Open "SELECT * FROM Reci WHERE Sifra='" & RSifra & "'", baza, , adCmdTable
BrojZapisa=Reci.RecordCount

For i=0 to BrojZapisa-1
Reci.MoveFirst
Reci.Delete (adAffectCurrent)
Reci.Update
Next i
Reci.Close
Pole
 
Odgovor na temu

captPicard
programer
more i planine

Član broj: 216084
Poruke: 1119



+19 Profil

icon Re: brisanje polja iz baze dbf08.07.2009. u 13:58 - pre 180 meseci
Zašto imaš dva zareza u parametru?
Sorry, kužim, ovo je ok.
F
 
Odgovor na temu

captPicard
programer
more i planine

Član broj: 216084
Poruke: 1119



+19 Profil

icon Re: brisanje polja iz baze dbf08.07.2009. u 14:00 - pre 180 meseci
Šta ti je RSifra, i di ju deklariraš?
F
 
Odgovor na temu

dzigilibonglica
NS

Član broj: 200040
Poruke: 294



+17 Profil

icon Re: brisanje polja iz baze dbf09.07.2009. u 12:24 - pre 180 meseci
@ MileKrajina:

Druze, nemoj se ljutiti, ali ti si beznadezan slucaj....

Dao sam ti primer koda kako se nesto radi, a ti samo iskopirao ceo kod! Pa na mom primeru i tvom konkretnom programu ne moraju biti iste promenjive, a da ne pricamo o tome da nisu ni iste baze u pitanju.

RSifra je neki string koji sam definisao na nivou celog programa, mozes tu promenjivu nazvati kako god hoces, a ona se popuni nekom vrednoscu kada se klikne na neki item liste.

Znaci samo si iskopirao ceo kod, nista nisi izmenjao, Pa poBogu covece, na ovom primeru ti recordset gadja tabelu "Reci", jer sam ga iskopirao iz svog jednog projekta gde imam bazu sa tabelom Reci, gde je prvi element primary key tipa string, odnosno sifra, a tvoja baza je nesto sasvim hiljadito,
a to da se potrefe dva lika sa dve strane foruma, koji imaju potpuno identicne strukture baze podataka , to ti je kao kad bi dva lika u isto vreme napisala Devetu Simfoniju....

Da li si uopste definisao objekat "baza", kojim si se koristio.

Znaci,Jedini nacin da ti pomognem je:

Mastering Visual Basic 6
Evangelos Petroutsos

Nadji negde na netu, pa uci iz toga.... (CHAPTER 17—Database Programming with Visual Basic)

Jbg, nemoj se ljutiti ali tako je
 
Odgovor na temu

captPicard
programer
more i planine

Član broj: 216084
Poruke: 1119



+19 Profil

icon Re: brisanje polja iz baze dbf09.07.2009. u 13:30 - pre 180 meseci
Citat:
dzigilibonglica: @ MileKrajina:

Druze, nemoj se ljutiti, ali ti si beznadezan slucaj....



:-D

Sorry Mile, ali i ja se slažem sa dzigilibonglicom

p.s. ipak nemoj odustajati, budi uporan! Makar nam pojeo sve živce ovdje Ali probaj prije pročitati neku knjigu za početnike, skini si neki tutorial sa net-a i napiši sam koju liniju koda. I nemoj odmah na baze podataka, to je ipak malo teže za početnika. Nauči najprije šta su varijable, procedure, funkcije, kako se varijable deklariraju...Biti će ti naporno u početku, ali kasnije će ti to puno značiti...

[Ovu poruku je menjao captPicard dana 09.07.2009. u 19:49 GMT+1]
F
 
Odgovor na temu

[es] :: Visual Basic 6 :: brisanje polja iz baze dbf

[ Pregleda: 1727 | Odgovora: 13 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.