🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.bazy-danych.msaccess
8 messages
8 total messages Started by 1h18n19m2t Mon, 03 Apr 2017 16:48
Update tabeli połączonej z bazy sql
#137429
Author: 1h18n19m2t
Date: Mon, 03 Apr 2017 16:48
1 lines
1430 bytes
Witam. Mam pytanie czy po przeniesieniu tabel na serwer SQL i podlinkowaniu ich do accessa zmieni się sposób ich edycji? (Dodawania i usuwania rekordów oraz ich edycji) czyli czy po zmianie dostęp do danych będzie konieczny przez komendy sql czy też będzie działać zwykły nechanizm działania na rekordsetach?
Re: Update tabeli połączonej z bazy sql
#137430
Author: LeszekN
Date: Mon, 03 Apr 2017 20:20
14 lines
1863 bytes
Witaj 
Najlepiej podzielić bazę i przetestować, na pewno wystąpią drobne błędy.

> Mam pytanie czy po przeniesieniu tabel na serwer SQL i podlinkowaniu ich do
> accessa zmieni się sposób ich edycji?
teoretycznie się nie zmieni przy tabelach podlinkowanych
Recordset dział tak samo no prawie :) 
w recordsetach też używa się poleceń SQL, np budujesz recordset na postawie stringu SQL, wiec w czym problem aby nie linkować tabel???

Poczytaj o metodach łączenia z serwerem SQL bez linkowania tabel 
Spraw aby serwer SQL pracował a nie Access.

pozdrawiam
Leszek
Re: Update tabeli połączonej z bazy sql
#137431
Author: 1h18n19m2t
Date: Tue, 04 Apr 2017 04:37
35 lines
2775 bytes
W dniu poniedziałek, 3 kwietnia 2017 22:20:32 UTC+2 użytkownik LeszekN napisał:
> Witaj 
> Najlepiej podzielić bazę i przetestować, na pewno wystąpią drobne błędy.
> 
> > Mam pytanie czy po przeniesieniu tabel na serwer SQL i podlinkowaniu ich do
> > accessa zmieni się sposób ich edycji?
> teoretycznie się nie zmieni przy tabelach podlinkowanych
> Recordset dział tak samo no prawie :) 
> w recordsetach też używa się poleceń SQL, np budujesz recordset na postawie stringu SQL, wiec w czym problem aby nie linkować tabel???
> 
> Poczytaj o metodach łączenia z serwerem SQL bez linkowania tabel 
> Spraw aby serwer SQL pracował a nie Access.
> 
> pozdrawiam
> Leszek


Pisząc kod w accessie zawsze używałem składni jak poniżej:
 
Set hist = db.OpenRecordset("hist_karta", dbOpenDynaset)
 hist.AddNew
 hist!karta = CLng(HID!CardNumber)
 hist!data = Now()
 hist!kto = "AUTOMAT"
 hist!ruch = 2
 hist.Update

Natomiast poprzez SQL byłoby to mniej więcej tak:

$zapytanie = "INSERT INTO `historia` (`karta`, `data`, `kto`, `ruch`) VALUES (CLng(HID!CardNumber), Now(), 'AUTOMAT', '2')";
$idzapytania = mysql_query($zapytanie);



Moje pytanie jest więc takie, czy muszę cały kod przerobić?
Re: Update tabeli połączonej z bazy sql
#137432
Author: 1h18n19m2t
Date: Tue, 04 Apr 2017 04:38
34 lines
2759 bytes
W dniu poniedziałek, 3 kwietnia 2017 22:20:32 UTC+2 użytkownik LeszekN napisał:
> Witaj 
> Najlepiej podzielić bazę i przetestować, na pewno wystąpią drobne błędy.
> 
> > Mam pytanie czy po przeniesieniu tabel na serwer SQL i podlinkowaniu ich do
> > accessa zmieni się sposób ich edycji?
> teoretycznie się nie zmieni przy tabelach podlinkowanych
> Recordset dział tak samo no prawie :) 
> w recordsetach też używa się poleceń SQL, np budujesz recordset na postawie stringu SQL, wiec w czym problem aby nie linkować tabel???
> 
> Poczytaj o metodach łączenia z serwerem SQL bez linkowania tabel 
> Spraw aby serwer SQL pracował a nie Access.
> 
> pozdrawiam
> Leszek

Pisząc kod w accessie zawsze używałem składni jak poniżej: 
  
Set hist = db.OpenRecordset("hist_karta", dbOpenDynaset) 
 hist.AddNew 
 hist!karta = CLng(HID!CardNumber) 
 hist!data = Now() 
 hist!kto = "AUTOMAT" 
 hist!ruch = 2 
 hist.Update 

Natomiast poprzez SQL byłoby to mniej więcej tak: 

$zapytanie = "INSERT INTO `hist_karta` (`karta`, `data`, `kto`, `ruch`) VALUES (CLng(HID!CardNumber), Now(), 'AUTOMAT', '2')"; 
$idzapytania = mysql_query($zapytanie); 



Moje pytanie jest więc takie, czy muszę cały kod przerobić? 
Re: Update tabeli połączonej z bazy sql
#137436
Author: Smyk
Date: Tue, 04 Apr 2017 09:07
21 lines
1964 bytes
1h18n19m2t@gmail.com wrote at Di 04.04.2017 06:38:

> Pisząc kod w accessie zawsze używałem składni jak poniżej:
>   
> Set hist = db.OpenRecordset("hist_karta", dbOpenDynaset)
>  hist.AddNew
>  hist!karta = CLng(HID!CardNumber)
>  hist!data = Now()
>  hist!kto = "AUTOMAT"
>  hist!ruch = 2
>  hist.Update
> [...]
> Moje pytanie jest więc takie, czy muszę cały kod przerobić?

Będziesz mógł nadal używać objektów DAO, tak jak to robiłeś do tej pory.

Z migracją tabel na server wiąże się jednak kilka warunków. Jednym z nich 
jest obowiazek definicji klucza głównego dla połączonych tabel. Inaczej nie 
będzie można modyfikowac/dodawać rekordów.

Ciao, Smyk
Re: Update tabeli połączonej z bazy sql
#137433
Author: LeszekN
Date: Tue, 04 Apr 2017 09:11
13 lines
2125 bytes
> Moje pytanie jest więc takie, czy muszę cały kod przerobić?

nie, jeżeli będziesz linkował tabel
na tabelach podlinkowanych zadziała to bez problemu tak jak miałeś do tej pory.

jedynie zmieniłbym otwarcie recordsetu na 
Set hist = db.OpenRecordset("hist_karta", dbOpenDynaset, dbSeeChanges) 

ma działać i łaski nie robić :)
Natomiast jak chcesz bez linkowania tabel to do przebudowy większość kodu odpowiadającego za odczyt lub zapis danych, ale to długa historia:) 

pozdrawiam 
Leszek
Re: Update tabeli połączonej z bazy sql
#137434
Author: Smyk
Date: Tue, 04 Apr 2017 09:36
11 lines
1642 bytes
LeszekN wrote at Di 04.04.2017 11:11:

> jedynie zmieniłbym otwarcie recordsetu na
> Set hist = db.OpenRecordset("hist_karta", dbOpenDynaset, dbSeeChanges)

Jeśli chce otworzyć Recordset, tylko w celu dodawania nowych rekordów, 
najbardziej optymalną kombinacją parametrów będzie:

Set hist = db.OpenRecordset("hist_karta", dbOpenTable, dbAppendOnly)

Ciao, Smyk
Re: Update tabeli połączonej z bazy sql
#137435
Author: 1h18n19m2t
Date: Tue, 04 Apr 2017 15:00
3 lines
1602 bytes
Wielkie dzięki za podpowiedzi. Już mam dostęp do bazy SQL i jutro wypróbuję wskazane metody.
Pozdrawiam 
Marcin
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads