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
Author: 1h18n19m2t
Date: Mon, 03 Apr 2017 16:48
Date: Mon, 03 Apr 2017 16:48
1 lines
1430 bytes
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
Author: LeszekN
Date: Mon, 03 Apr 2017 20:20
Date: Mon, 03 Apr 2017 20:20
14 lines
1863 bytes
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
Author: 1h18n19m2t
Date: Tue, 04 Apr 2017 04:37
Date: Tue, 04 Apr 2017 04:37
35 lines
2775 bytes
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
Author: 1h18n19m2t
Date: Tue, 04 Apr 2017 04:38
Date: Tue, 04 Apr 2017 04:38
34 lines
2759 bytes
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
Author: Smyk
Date: Tue, 04 Apr 2017 09:07
Date: Tue, 04 Apr 2017 09:07
21 lines
1964 bytes
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
Author: LeszekN
Date: Tue, 04 Apr 2017 09:11
Date: Tue, 04 Apr 2017 09:11
13 lines
2125 bytes
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
Author: Smyk
Date: Tue, 04 Apr 2017 09:36
Date: Tue, 04 Apr 2017 09:36
11 lines
1642 bytes
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
Author: 1h18n19m2t
Date: Tue, 04 Apr 2017 15:00
Date: Tue, 04 Apr 2017 15:00
3 lines
1602 bytes
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