Search  
Monday, December 09, 2019 ..:: Forum ::.. Register  Login
 Forum Minimize
Pentru a putea posta mesaje trebuie să vă înregistraţi.
Notă: Mesajele cu conţinut jignitor sau ilegal (inclusiv cereri de soft piratat) nu sunt acceptate şi vor fi şterse imediat .

Pentru a primi raspunsuri rapide si corecte, scrieti in mesaj ce intentionati sa faceti, ce mesaj de eroare primiti, in ce context si in urma caror actiuni. De asemenea, mentionati versiunea de FoxPro in care lucrati!
Dacă nu specificați versiunea, se consideră VFP 9.0 SP2.

SearchForum Home
  Visual FoxPro  Baze de date, tabele, view-uri si indecsi  selectare doar ...
 selectare doar date diferite din 2 tabele
 
 9/27/2012 2:14:19 PM
User is offlinegaboru
65 posts


selectare doar date diferite din 2 tabele
 (N/A)

Am urmatoarea situatie:
2 aplicatii identice pe 2 calculatoare aflate la distanta. Vreau ca la o anumita perioada de timp, 10min, 1 ora, sa sincronizez o anumita tabela intre cele 2 statii. Astfel, se pot modifica date intre timp atat in prima tabela cat si in cea de-a doua. Atunci cand sincronizez vreau ca ambele tabele sa contina toate datele noi introduse atat in prima cat si in a doua, si daca se fac modificari la datele deja existente sa se actualizeze si aceste date.

M-am gandit in felul urmator:
* selectez datele din calc 2 si le aduc pe calc 1 ( verific daca pot accesa tabela prin internet, apoi fac un select simplu sele * from tab2 to tab1 )
acum am ambele tabele pe o statie. - Ca sa pot lucra mai usor , am vazut ca se descurca greu daca fac scanuri sau alte proceduri direct prin net.
* am un camp dataora, pentru a vedea cand s-a facut ultima modificare, compar cele doua tabele dupa acest camp si astfel modific ce e nevoie.

* problema intervine cand vreau sa selectez toate datele noi din tab 1 si sa le duc in tab 2 si invers. Nu stiu cum sa fac acest select daca e posibil. Adica Select toate care sunt in a dar nu sunt in b

Sau poate chiar o alta metoda mai simpla daca am gandit-o prea complicat.
Nu vreau sa folosesc o tabela si sa ma leg la ea cu ambele aplicatii prin net ca nu am netul foarte bun la cele 2 locatii, vreua sa se poata lucra si cand e net si cand nu e... Cand e net sa se faca actualizarile astea .

Multumesc!
 9/27/2012 3:32:05 PM
User is offlineMarian Dobre
612 posts
1st


Re: selectare doar date diferite din 2 tabele
 (N/A)
Mai trebuie sa specifici daca tabelele apartin unei BD, de ce tip este aceasta, daca ai chei primare si daca acestea sunt de tip Integer(Autoinc).

Orice putere omeneasca este un compus de rabdare si de timp. Balzac
 9/27/2012 4:49:41 PM
User is offlinegaboru
65 posts


Re: selectare doar date diferite din 2 tabele
 (N/A)
tabelele nu au chei primare, nu apartin de o baza de date. Initial erau structurate intr-o BD cu relatii si tot tacamul, insa am intampinat ceva dificultati si am optat sa le las libere. Aplicatia merge ok si asa. Nu am nici campuri autoincrement
 9/27/2012 5:44:03 PM
User is offlineDaniel Buduru
3513 posts
1st




Re: selectare doar date diferite din 2 tabele
 (Romania) Modified By Daniel Buduru  on 9/27/2012 4:57:54 PM)
 gaboru wrote
tabelele nu au chei primare, nu apartin de o baza de date. Initial erau structurate intr-o BD cu relatii si tot tacamul, insa am intampinat ceva dificultati si am optat sa le las libere. Aplicatia merge ok si asa. Nu am nici campuri autoincrement

Aplicatia merge perfect si asa, dar nu poti rezolva problema sincronizarii.
Algoritmul standard este urmatorul:

Insert into tabela 1 from select * from tabela 2 where id not in (select id from tabela 1)
Update tabela 1 set camp1=tabela2.camp1, camp2=tabela2.camp2, campn=tabela2.campn  from tabela 2 where tabela2.id=tabela1.id and tabela2.dataora>tabela1.dataora
Idem pentru sincronizare tabela2 cu tabela 1.
Insert into tabela 2 from select * from tabela 1 where id not in (select id from tabela 2)
Update tabela 2 set camp1=tabela1.camp1, camp2=tabela1.camp2, campn=tabela1.campn  from tabela 1 where tabela1.id=tabela2.id and tabela1.dataora>tabela2.dataora

Cum faci asta fara chei primare? Cum identifici fiecare inregistrare, pentru a o compara si actualiza?

Edit: Incep sa uit sintaxa :)


Daniel Buduru
 9/27/2012 5:54:02 PM
User is offlinegaboru
65 posts


Re: selectare doar date diferite din 2 tabele
 (N/A)
Nu am chei primare insa am campurile codbare care sunt unice. Pare sa fie exact ce am nevoie. Incerc si revin dupa daca ma lovesc de alte situatii.
Multumesc!
  Visual FoxPro  Baze de date, tabele, view-uri si indecsi  selectare doar ...

Search  Forum Home         

 Google Ads Minimize

    

Copyright 2002-2013 Profox   Terms Of Use  Privacy Statement