Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Info Coronavirus/Vaccinare vs Fake News

Recomandare cablu display-port (p...

Aparat pentru masurare radiatii t...

Unde vedem parada militara Bucure...
 Inregistrare audio fara consimtam...

Cum pun protectie in Google Walle...

Soba din tabla pentru atelier.

HIT and RUN - (Fuga dupa adevar)
 Proiect Erasmus -Vaccin si test pcr

Identificare dioda zenner

Cont SPV pentru PFA?

Spalare instalatie termica
 afisare eroare centrala termica e...

Probleme cu un PDF in Adobe Reader

NHA,NBA

Scartait placute frana
 

eroare vb cu acces

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

#1
deCeNu

deCeNu

    New Member

  • Grup: Members
  • Posts: 14
  • Înscris: 11.12.2006
Sunt nou in programare si am de facut un program de gestiune primara la serviciu.
Ma puteti ajuta va rog?
La rularea programului  imi da mesajul: "Compile error: User-defined type not defined" !!!!!
Am postat si codul aici!
Multumesc pentru intelegere!

Option Explicit

Dim dbMyDB As Database
Dim rsMyRS As Recordset

Private Sub Form_Load()

Set dbMyDB = OpenDatabase("C:\Documents and Settings\xxx_yyy\My Documents\accesdb\MyDatabase.mdb")
Set rsMyRS = dbMyDB.OpenRecordSet("MyTable", dbOpenDynaset)

If Not rsMyRS.EOF Then rsMyRS.MoveFirst
Do While Not rsMyRS.EOF
    lstRecords.AddItem rsMyRS!Name
    lstRecords.ItemData(lstRecords.NewIndex) = rsMyRS!ID
    rsMyRS.MoveNext
Loop

End Sub

#2
Yoda

Yoda

    Eternal padawan

  • Grup: Senior Members
  • Posts: 9,358
  • Înscris: 04.10.2002
Trebuie sa adaugi o referinta la DAO.
Mergi in meniul Project / References si bifeaza "Microsoft DAO 3.6 Object Library"
S-ar putea sa nu ai 3.6, bifeaza care o ai. Daca ai mai multe, cea mai recenta.

Iti recomand - daca tot esti la inceput - sa nu folosesti DAO ca si metoda de lucru cu baza de date, ci ADO.
DAO este dedicat pentru Access, cu ADO poti face conexiuni si la alte tipuri de baze de date, de exemplu MSSQL Server.




Succes.

#3
deCeNu

deCeNu

    New Member

  • Grup: Members
  • Posts: 14
  • Înscris: 11.12.2006

View PostYoda, on Dec 11 2006, 05:58, said:

Trebuie sa adaugi o referinta la DAO.
Mergi in meniul Project / References si bifeaza "Microsoft DAO 3.6 Object Library"
S-ar putea sa nu ai 3.6, bifeaza care o ai. Daca ai mai multe, cea mai recenta.

Iti recomand - daca tot esti la inceput - sa nu folosesti DAO ca si metoda de lucru cu baza de date, ci ADO.
DAO este dedicat pentru Access, cu ADO poti face conexiuni si la alte tipuri de baze de date, de exemplu MSSQL Server.
Succes.
Multumesc, in primul rand pentru bunavointa si pentru sfaturi(am sa tin cont de ele).
Dupa ce am procedat conform sfatului, acum imi da alta eroare la linia: "Set rsMyRS = dbMyDB.OpenRecordSet("MyTable", dbOpenDynaset)"...practic se blocheaza fara sa faca nimic.Help!

#4
Yoda

Yoda

    Eternal padawan

  • Grup: Senior Members
  • Posts: 9,358
  • Înscris: 04.10.2002
spune-mi te rog ce eroare iti da.

#5
deCeNu

deCeNu

    New Member

  • Grup: Members
  • Posts: 14
  • Înscris: 11.12.2006

View PostYoda, on Dec 11 2006, 15:06, said:

spune-mi te rog ce eroare iti da.
Se bloca pur si simplu...am rezolvat, multumesc,...am dezactivat din Project/References/Microsoft ActiveX Data Objects 2.8 Library si functioneaza...dar ! In listBox imi arata numai inregistrarile din primul camp al tabelului(respectiv prima coloana)...si as avea nevoie si de celelalte campuri ale fiecarei inregistrari...unde sa fac referire la campurile respective in program?

#6
Yoda

Yoda

    Eternal padawan

  • Grup: Senior Members
  • Posts: 9,358
  • Înscris: 04.10.2002

View PostdeCeNu, on Dec 12 2006, 09:41, said:

Se bloca pur si simplu...am rezolvat, multumesc,...am dezactivat din Project/References/Microsoft ActiveX Data Objects 2.8 Library si functioneaza...dar ! In listBox imi arata numai inregistrarile din primul camp al tabelului(respectiv prima coloana)...si as avea nevoie si de celelalte campuri ale fiecarei inregistrari...unde sa fac referire la campurile respective in program?

ceea ce vrei tu este un listbox cu mai multe coloane. Studiaza si tu un pic msdn si vezi cum se poate face.

#7
ionut_y

ionut_y

    Member

  • Grup: Members
  • Posts: 836
  • Înscris: 21.06.2005

View PostdeCeNu, on Dec 12 2006, 09:41, said:

..dar ! In listBox imi arata numai inregistrarile din primul camp al tabelului(respectiv prima coloana)...si as avea nevoie si de celelalte campuri ale fiecarei inregistrari...unde sa fac referire la campurile respective in program?


De ce nu fololosesti un grid,in loc de lisbox ?

#8
deCeNu

deCeNu

    New Member

  • Grup: Members
  • Posts: 14
  • Înscris: 11.12.2006

View Postionut_y, on Dec 13 2006, 10:19, said:

De ce nu fololosesti un grid,in loc de lisbox ?
si ma ajuta sa vizualizez in form un camp de pe linia x si coloana y?

#9
ionut_y

ionut_y

    Member

  • Grup: Members
  • Posts: 836
  • Înscris: 21.06.2005

View PostdeCeNu, on Dec 14 2006, 11:13, said:

si ma ajuta sa vizualizez in form un camp de pe linia x si coloana y?

un grid ....este un control care-ti da posibilitatea de a vizualiza si nu numai .. un rezultat query (sa zicem)...   sub forma  tabelara.

#10
deCeNu

deCeNu

    New Member

  • Grup: Members
  • Posts: 14
  • Înscris: 11.12.2006

View Postionut_y, on Dec 14 2006, 08:36, said:

un grid ....este un control care-ti da posibilitatea de a vizualiza si nu numai .. un rezultat query (sa zicem)...   sub forma  tabelara.
si cum il leg de acel query?
Cum ma duc pe o anume inregistrare in tabela?
Ex: While Not rsMyRS.EOF
        rsMyRS.Edit
        rsMyRS![Phone] = Text1
        rsMyRS.Update
        rsMyRS.MoveNext
    Wend
...in tabela in coloana Phone cum editez campul din linia 3 ( care are ID 3) ?
Multumesc!

Edited by deCeNu, 18 December 2006 - 10:31.


#11
ionut_y

ionut_y

    Member

  • Grup: Members
  • Posts: 836
  • Înscris: 21.06.2005

View PostdeCeNu, on Dec 18 2006, 10:27, said:

si cum il leg de acel query?
Cum ma duc pe o anume inregistrare in tabela?
Ex: While Not rsMyRS.EOF
        rsMyRS.Edit
        rsMyRS![Phone] = Text1
        rsMyRS.Update
        rsMyRS.MoveNext
    Wend
...in tabela in coloana Phone cum editez campul din linia 3 ( care are ID 3) ?
Multumesc!


Pui un dbGrid, un control Data.

Pentru dbGrid alegi datasource - numele controlului data
Pt controlul data setezi :

        .DatabaseName = <calea catre fis .mdb>
        .RecordSource = "SELECT * FROM  table1 ......"
        .Refresh

#12
ionut_y

ionut_y

    Member

  • Grup: Members
  • Posts: 836
  • Înscris: 21.06.2005

View PostdeCeNu, on Dec 18 2006, 10:27, said:

Cum ma duc pe o anume inregistrare in tabela?
  
  Controlul data are butoane pt navigarea intre inregistrari.  
  Daca vrei sa filtrEzi inregistrarile  
      ctrlData.RecordSource = "SELECT * FROM table1 ...... WHERE ...."

View PostdeCeNu, on Dec 18 2006, 10:27, said:

...in tabela in coloana Phone cum editez campul din linia 3 ( care are ID 3) ?
  
       ctrlData.Database.Execute("UPDATE.......WHERE id='3'")

Edited by ionut_y, 19 December 2006 - 08:20.


#13
deCeNu

deCeNu

    New Member

  • Grup: Members
  • Posts: 14
  • Înscris: 11.12.2006

View Postionut_y, on Dec 18 2006, 11:24, said:

Pui un dbGrid, un control Data.

Pentru dbGrid alegi datasource - numele controlului data
Pt controlul data setezi :

        .DatabaseName = <calea catre fis .mdb>
        .RecordSource = "SELECT * FROM  table1 ......"
        .Refresh

din pacate, la prima linie, dupa ce dau calea catre fisier, da o eroare de genul "compile error : expect expression" !!!

iar la dbGrid nu am gasit in proprietati datasource...am gasit numai un camp Recordset...

#14
deCeNu

deCeNu

    New Member

  • Grup: Members
  • Posts: 14
  • Înscris: 11.12.2006

View Postionut_y, on Dec 19 2006, 02:17, said:

Controlul data are butoane pt navigarea intre inregistrari.  
  Daca vrei sa filtrEzi inregistrarile  
      ctrlData.RecordSource = "SELECT * FROM table1 ...... WHERE ...."

  
       ctrlData.Database.Execute("UPDATE.......WHERE id='3'")
unde pun aceste comenzi? in controlData Validate?

#15
ionut_y

ionut_y

    Member

  • Grup: Members
  • Posts: 836
  • Înscris: 21.06.2005

View PostdeCeNu, on Jan 11 2007, 14:00, said:

unde pun aceste comenzi? in controlData Validate?


Asta e metoda pe care o folosesc in VB 6 ...  cu acess-ul nu lucrez ..m-am gandit ca tb sa fie asemanator.

Codul acela se pune in initialize-ul formei.

#16
deCeNu

deCeNu

    New Member

  • Grup: Members
  • Posts: 14
  • Înscris: 11.12.2006
intr-un form...
am  list box1 in care listez toate inregistrarile din coloana produs din tabelul produse
in al doilea list box imi trebuie valoarea/valorile din campul pret al tabelului preturi, care corespunde tuturor inregistrarilor cu numele "produs" selectat in listBox1
cum fac asta?

View Postionut_y, on Jan 11 2007, 10:43, said:

Asta e metoda pe care o folosesc in VB 6 ...  cu acess-ul nu lucrez ..m-am gandit ca tb sa fie asemanator.

Codul acela se pune in initialize-ul formei.


#17
Hato0be

Hato0be

    Junior Member

  • Grup: Members
  • Posts: 49
  • Înscris: 05.07.2006

View PostdeCeNu, on Jan 12 2007, 16:40, said:

intr-un form...
am  list box1 in care listez toate inregistrarile din coloana produs din tabelul produse
in al doilea list box imi trebuie valoarea/valorile din campul pret al tabelului preturi, care corespunde tuturor inregistrarilor cu numele "produs" selectat in listBox1
cum fac asta?

Presupunem ca avem o forma cu numele "frmProduse" cu 2 listbox : ListBox1 (care contine denumirile produselor) , ListBox2 (preturile pentru produsul selectat din ListBox1),

' pentru prima lista, cea cu produse
' 
ListBox1.RowSource = "select idprodus, produs from produse"
ListBox1.BoundColumn = "1"
ListBox1.ColumnCount = "2"
ListBox1.ColumnWidths = "0;"
ListBox1.onclick = "=ListBox2.Requery"
'
' Pentru a doua lista , cu preturi , in dependenta de produsul selectat
'
ListBox2.RowSourceType = "Table/Query"
ListBox2.RowSource = select pret from produse where idprodus=Forms!frmProduse.ListBox1.Value
ListBox2.BoundColumn = "1"
ListBox2.ColumnCount = "1"
ListBox1.RowSourceType = "Table/Query"

Edited by Hato0be, 17 January 2007 - 20:05.


#18
deCeNu

deCeNu

    New Member

  • Grup: Members
  • Posts: 14
  • Înscris: 11.12.2006

View PostHato0be, on Jan 17 2007, 14:05, said:

Presupunem ca avem o forma cu numele "frmProduse" cu 2 listbox : ListBox1 (care contine denumirile produselor) , ListBox2 (preturile pentru produsul selectat din ListBox1),

' pentru prima lista, cea cu produse
' 
ListBox1.RowSource = "select idprodus, produs from produse"
ListBox1.BoundColumn = "1"
ListBox1.ColumnCount = "2"
ListBox1.ColumnWidths = "0;"
ListBox1.onclick = "=ListBox2.Requery"
'
' Pentru a doua lista , cu preturi , in dependenta de produsul selectat
'
ListBox2.RowSourceType = "Table/Query"
ListBox2.RowSource = select pret from produse where idprodus=Forms!frmProduse.ListBox1.Value
ListBox2.BoundColumn = "1"
ListBox2.ColumnCount = "1"
ListBox1.RowSourceType = "Table/Query"

multumesc pentru raspuns!
toate bune si frumoase...numai ca am introdus codul in form_load si imi da eroare : compile error :expected expression !
ce se intampla acum? nu am introdus codul bine in form?
...acum vad ca da si eroare la rularea programului: la incarcarea formei da eroare lalistbox.rowsource...method or data member not found!

Edited by deCeNu, 18 January 2007 - 11:25.


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