Chirurgia endoscopică a hipofizei
"Standardul de aur" în chirurgia hipofizară îl reprezintă endoscopia transnazală transsfenoidală. Echipa NeuroHope este antrenată în unul din cele mai mari centre de chirurgie a hipofizei din Europa, Spitalul Foch din Paris, centrul în care a fost introdus pentru prima dată endoscopul în chirurgia transnazală a hipofizei, de către neurochirurgul francez Guiot. Pe lângă tumorile cu origine hipofizară, prin tehnicile endoscopice transnazale pot fi abordate numeroase alte patologii neurochirurgicale. www.neurohope.ro |
Access 97 si VBA - vreau sa dau valori unei variabile intr-un ciclu For
Last Updated: Dec 12 2006 17:59, Started by
JJOne
, Dec 09 2006 16:25
·
0
#1
Posted 09 December 2006 - 16:25
Se dau 2 tabele in relatie one to many, si un form care trebuie sa exporte in fisiere separate valorile din al doilea tabel, in functie de valoarea cheii primare din primul tabel.
Am reusit sa fac exportul, desi sunt incepator rau in Access, insa numai alegand manual pe rand valorile cheii din primul tabel. As vrea sa realizez un ciclu for, in care valoarea variabilei de filtrare sa circule singura prin valorile cheii primare, astfel incat aceasta actiune sa se realizeze dintr-un singur click. Nu reusesc insa sa-mi dau seama cum se face. Va rog sa ma ajutati, daca puteti, si va multumesc anticipat. |
#2
Posted 11 December 2006 - 11:24
JJOne, on Dec 9 2006, 16:25, said: Se dau 2 tabele in relatie one to many, si un form care trebuie sa exporte in fisiere separate valorile din al doilea tabel, in functie de valoarea cheii primare din primul tabel. Am reusit sa fac exportul, desi sunt incepator rau in Access, insa numai alegand manual pe rand valorile cheii din primul tabel. As vrea sa realizez un ciclu for, in care valoarea variabilei de filtrare sa circule singura prin valorile cheii primare, astfel incat aceasta actiune sa se realizeze dintr-un singur click. Nu reusesc insa sa-mi dau seama cum se face. Va rog sa ma ajutati, daca puteti, si va multumesc anticipat. N-am reusit sa inteleg exact ce vrei. Hai s-o luam pe exemplu concret. Ai doua tabele: tblDepartamente: ID - autonumber Departament - text tblAngajati: ID - autonumber ID_Dep - integer (corespondent one-to-many pentru tblDepartamente.ID) Nume - text Ce vrei exact sa exporti, raportat la exemplul de mai sus? Numele angajatilor dintr-un anumit departament? |
#3
Posted 11 December 2006 - 16:46
Exact asta as vrea, dar in mai multe fisiere de genul: "Angajati departament1.txt", "Angajati departament2.txt", etc.\
Problema e ca nu stiu sa accesez pe o variabila in VB ID-urile din tabela tblDepartamente, sa le folosesc pt. control al ciclului for. |
#4
Posted 11 December 2006 - 21:30
JJOne, on Dec 11 2006, 16:46, said: Exact asta as vrea, dar in mai multe fisiere de genul: "Angajati departament1.txt", "Angajati departament2.txt", etc.\ Problema e ca nu stiu sa accesez pe o variabila in VB ID-urile din tabela tblDepartamente, sa le folosesc pt. control al ciclului for. Incearca ceva de genul: Sub ExportAngajati() Dim rsDepartamente As Recordset Set rsDepartamente = dbMyMdb.OpenRecordset("SELECT * FROM tblDepartamente", dbOpenDynaset) Do While rsDepartamente.EOF = False CreateFile(rsDepartamente!ID, rsDepartamente!Departament) rsDepartamente.MoveNext Loop End Sub Sub CreateFile( DepartamentID as Integer, DepartamentName as String) Dim rsAngajati As Recordset Set rsAngajati = dbMyMdb.OpenRecordset("SELECT * FROM tblAngajati WHERE ID_Dep=" & DepartamentID , dbOpenDynaset) 'aici loopezi recordsetul si iti construiesti fisierul de exportat. 'Numele lui il ai ca parametru mai sus (DepartamentName) 'sper ca ai inteles, daca nu intreaba End Sub Edited by Yoda, 11 December 2006 - 21:30. |
#5
Posted 12 December 2006 - 12:31
Multumesc mult, nu stiam prima parte cu OpenRecordset si nici accesarea unui singur camp dintr-o linie de tabel. Am incercat si a mers ceva de tipul propus de tine.
Inca ceva: Cu TransferText, pot sa creez cate un fisier pt. fiecare recordset de acest gen. Daca imi fac selectia initiala doar pt. adaugirile din banca de date, exista vreo functie prin care, in loc sa stearga fisierul inainte de scriere, sa adauge noile inregistrari la sfarsitul acestuia? O varianta clara ar fi sa si import fisierul vechi prin aceeasi metoda transfertext, si sa adaug la el noile linii in VB/Access, iar apoi sa-l rescriu, insa as vrea sa stiu daca exista vreo metoda mai directa. |
#6
Posted 12 December 2006 - 17:59
JJOne, on Dec 12 2006, 12:31, said: Multumesc mult, nu stiam prima parte cu OpenRecordset si nici accesarea unui singur camp dintr-o linie de tabel. Am incercat si a mers ceva de tipul propus de tine. Inca ceva: Cu TransferText, pot sa creez cate un fisier pt. fiecare recordset de acest gen. Daca imi fac selectia initiala doar pt. adaugirile din banca de date, exista vreo functie prin care, in loc sa stearga fisierul inainte de scriere, sa adauge noile inregistrari la sfarsitul acestuia? O varianta clara ar fi sa si import fisierul vechi prin aceeasi metoda transfertext, si sa adaug la el noile linii in VB/Access, iar apoi sa-l rescriu, insa as vrea sa stiu daca exista vreo metoda mai directa. Nu merge sa adaugi inregistrari cu docmd.TransferText. Creaza o functie de genul: Open "C:\TEMP\Export.txt" For Append As #1 rst.MoveFirst Do While rst.EOF = False ' use code to concatenate the values from ' all the fields in the recordset into a single ' string variable strOutput. Example with ' using arbitrary widths of 20 and 10 for ' the first two fields): strOutput = Left(rst.Fields(0).Value & Space(20), 20) & _ Left(rst.Fields(1).Value & Space(10), 10) Print #1, strOutput rst.MoveNext Loop rst.Close Set rst = Nothing Close #1 Edited by Yoda, 12 December 2006 - 18:00. |
Anunturi
▶ 0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users