Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Schimbare adresa DNS IPv4 pe rout...

Recomandare Barebone

Monede JO 2024

Suprasolicitare sistem electric
 CIV auto import

Mutare in MOZAMBIC - pareri, expe...

Scoatere antifurt airtag de pe ha...

Magnet in loc de clește pent...
 Cumparat/Locuit in apartament si ...

Pot folosi sistemul PC pe post de...

Sokol cu distorsiuni de cross-over

Filtru apa potabila cu osmoza inv...
 Kanal D va difuza serialul “...

Upgrade xiaomi mi11

securitate - acum se dau drept - ...

Farmacia Dr Max - Pareri / Sugest...
 

Problema update recordset la o bazadate tip .MDB ( visual basic 6.0 )

- - - - -
  • Please log in to reply
5 replies to this topic

#1
FliesOuija

FliesOuija

    Junior Member

  • Grup: Members
  • Posts: 38
  • Înscris: 26.03.2012
Salutare cu respect tuturor de aici, revin de aceasta data cu o problema care para sa nu fie problema decat la runtime nefacand ce trebuie sa faca.

Sa va explic am o baza de date MWD.mdb cu o singura tabela in ea ce are vreo 13 campuri. Am conectat-o in programul meu folosind un contro Adodc1MWB am facut toate legaturile necesare merge totul ok. Plus ca lam facut visible false, apoi am adaugat separat codurile pentru butoanele de next, previous, last si first.

'am un buton Add Record
Adodc1MWD.Recordset.AddNew
txtName.SetFocus

'buton Cancel Add
Adodc1MWD.Recordset.CancelUpdate
txtName.SetFocus

'buton Save Record
Adodc1MWD.Recordset.Update

'buton Edit Record
' aici am doar deblocarea casetelor text si setarea ca focus pe txtName

'buton Cancel Edit
Adodc1MWD.Recordset.CancelUpdate
Adodc1MWD.Refresh
txtName.SetFocus

' si in final am butonul de Save Edit
Adodc1MWD.Recordset.Update

nu inteleg de ce nu imi salveaza editarile ce le fac in baza de date, mentionez ca separat de aceasta baza de date am o alta in alta forma, ce contine 3 tabele si toate codurile imi merg foarte bine pentru cealalta baza date... nu inteleg aici de ce nu merge, sa fi facut eu ceva erori pe undeva? sau imi lipseste ceva? pls help... thks.

#2
FliesOuija

FliesOuija

    Junior Member

  • Grup: Members
  • Posts: 38
  • Înscris: 26.03.2012
primesc acest mesaj

Run-time error '-2147467259 (80004005)':
Insufficient key column information for updating or refreshing

mentionez ca folosesc jet oledb 4.0

Edited by FliesOuija, 12 April 2012 - 11:08.


#3
neagu_laurentiu

neagu_laurentiu

    Guru Member

  • Grup: Senior Members
  • Posts: 40,603
  • Înscris: 30.07.2003

View PostFliesOuija, on 12th April 2012, 12:08, said:

Insufficient key column information for updating or refreshing
Nu ai o coloana cu valori unice (gen ID) pe care sistemul sa-l ia ca referinta in actualizare. Nu stie care-i inregistrarea dorita spre actualizare din moment ce nu ai reguli clare.
Eu as merge pe astfel de automatisme si as salva manual unde si ce. Cu ocazia asta mai inveti si cate ceva din SQL.
Totul se reduce la clauza WHERE din UPDATE tabela SET camp=valoare WHERE conditie logica (prin care identifici inregistrarile).

Edited by neagu_laurentiu, 12 April 2012 - 11:24.


#4
FliesOuija

FliesOuija

    Junior Member

  • Grup: Members
  • Posts: 38
  • Înscris: 26.03.2012
ok inteleg, nu am id unic asa este, dar la cealalta baza de date cu 3 tabele merge totul ok si akolo la fel nu am id unic sau altceva.. legat de ce mi-ai propus u mai sus ai putea sa fi te rog un pic mai explicit nu le am asa bine cu codurile la vb6, sunt un incepator desi pot zice ca mam jucat ceva timp cu vb6 la baze de date dar cu data control nu cu ado.

comenzile se aseamana la ambele in mare.

daca ai putea sa vi cu un cod pentru butonul edit si pentru butonul save edit ti-as ramane recunoscator sau cu ce ai spus tu acolo cu id unic ca sa pot sami dau si eu seama

mersi mult de tot.

PS: precizez ca am setate acele campuri text in modul design la data source: adodc1MWD si data field corespunzator cu ce tre din acea baza date. ( nu am nimc setat in coduri decat - codurile din butoane )

Edited by FliesOuija, 12 April 2012 - 13:12.


#5
FliesOuija

FliesOuija

    Junior Member

  • Grup: Members
  • Posts: 38
  • Înscris: 26.03.2012
ok, am adaugat in baza de date un ID ( unic ) , care exista doar in baza de date nu si in programul meu... mai departe ce fac?

nu stiu cu acele clauze Where .... etc :( ma poti ajuta?

#6
nexusm

nexusm

    Senior Member

  • Grup: Senior Members
  • Posts: 2,793
  • Înscris: 07.07.2011

View PostFliesOuija, on 12th April 2012, 15:36, said:

ok, am adaugat in baza de date un ID ( unic ) , care exista doar in baza de date nu si in programul meu... mai departe ce fac?

nu stiu cu acele clauze Where .... etc :( ma poti ajuta?

in principiu nu trebuie sa ai neaparat un id unic(asta daca tu consideri ca poti folosi datele dintr-un anumit camp ca si cheie de cautare)
probblema rezida in interogarea bazei. WHERE(unde?) determina alegerea a unei sau mai multor inregistrari ce corespund criteriului de cautare.
ca exemplu vom presupune ca avem in tabelul "elevi" urmatoarele campuri:
nume; varsta; clasa; note; comentariu
presupunem la vreau sa inserez un comentariu pentru elevii care se numesc Ionel, au varsta de 14 ani si au nota 8
code:
sql="select * from ELEVI where nume='Ionel' and VARSTA='14' AND NOTE='8'" (optional ORDER BY nume)
in exemplul dat nu avem nevoie de un id unic dar criteriile de cautare sunt specificate(nume, varsta, note)
rs.Edit
rs!comentariu="La Multi Ani!"
rs.UpDate

Anunturi

Bun venit pe Forumul Softpedia!

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate