ďťż
 
Jak przenieść wartości między tabelami? ďťż
 
Jak przenieść wartości między tabelami?
Zobacz wiadomości
 
Cytat
A gdyby tak się wedrzeć na umysłów górę, / Gdyby stanąć na ludzkich myśli piramidzie, / I przebić czołem przesądów chmurę, / I być najwyższą myślą wcieloną. . . Juliusz Słowacki, Kordian
Indeks BCB i MySQL subiekt gt fototapeta
 
  Witamy

Jak przenieść wartości między tabelami?



fArmer - 13-11-2006 00:47
Jak przenieść wartości między tabelami?
  Witam
Problem jest następujący - chciałbym sumę wyznaczoną w tabeli temp
w kolumnie "+papier1+" i wierszu o numerze_zlecenia przenieść do
tabeli magazyn do tej samej kolumny i wiersza ("+papier1+" i
numer_zlecenia). Probowałem kilka opcji ale program krzyczy że źle:

var query="INSERT INTO magazyn ("+papier2+") VALUES (SELECT
SUM("+papier2+") FROM temp) WHERE numer_zlecenia=("+numer+")";

W temacie nie czuje się najlepiej, tym bardziej ze całość projektu
jest "lekko" zakręcona - formularz robiony w Adobe Acrobat 7 Prof
korzystając z ADBC (Adobowa wersja ODBC) łączy się z Accesową
bazą danych ;)
Pozdrawiam i z góry dziękuję za pomoc
fArmer





Grzegorz Danowski - 13-11-2006 00:47

  Użytkownik "fArmer" <Bartek.Pasierb@gmail.com> napisał w wiadomości
news:1162765898.085254.203750@e3g2000cwe.googlegro ups.com...
<cite>
Witam
Problem jest następujący - chciałbym sumę wyznaczoną w tabeli temp
w kolumnie "+papier1+" i wierszu o numerze_zlecenia przenieść do
tabeli magazyn do tej samej kolumny i wiersza ("+papier1+" i
numer_zlecenia). Probowałem kilka opcji ale program krzyczy że źle:

var query="INSERT INTO magazyn ("+papier2+") VALUES (SELECT
SUM("+papier2+") FROM temp) WHERE numer_zlecenia=("+numer+")";

</cite>

Czy nadałeś kolumnom swojej tabeli takie dziwne nazwy jak "+papier1+"? Jeśli
tak, to użyj nawiasów kwadratowych, jeśli to tylko jakaś literówka (albo
zapatrzenie na jakieś w przykłady na sieci) i faktycznie kolumny w bazie
nazywają sie papier1 i numer, to napisz zapytanie nie używając kwadratów.
Poza tym zakładając, że chodzi Ci o podsumowanie wszystkich rekordów, to
Twoje zapytanie powinno wyglądać mniej więcej tak:

var query="INSERT INTO magazyn (numer_zlecenia, papier1) " & _
"SELECT numer_zlecenia, Sum(papier1) From temp " & _
"Group By numer_zlecenia"

Chyba, że chodzi Ci o jakieś jedne konkretne zlecenie - wówczas dodaj Where.
Pozdrawiam
Grzegorz




fArmer - 13-11-2006 00:48

  Z nazwami jest wszystko ok, np. papier3 jest zmienna która pobiera
wartość exportu z trzeciego pola wyboru papieru w formularzu, gdzie w
polu można wybrać: "A3 satyna 90g"(export: A3satyna90), "A3 satyna
100g"(export:A3satyna100), itd. Ten rodzaj odwołania działa, to jest
sprawdzone. Chciałbym w magazynie wpisać ilość arkuszy danego
rodzaju papieru pod danym numerem zlecenia. Odwołanie:
var query="UPDATE magazyn SET "+papier1+"='"+arkusze1+"',
+papier2+"='"+arkusze2+"', "+papier3+"='"+arkusze3+"',
"+papier4+"='"+arkusze4+"',"+papier5+"='"+arkusze5 +"',"+papier6+"='"+arkusze6+"',
"+papier7+"='"+arkusze7+"',"+papier8+"='"+arkusze8 +"'
WHERE numer_zlecenia= "+numer+" ";
działa dopóki któryś z rodzajów papierów się nie powtarza ( jest
8 pól wyboru, jeśli w conajmniej dwóch jest wybrany ten sam papier,
to zmienne np. papier1 i papier6 są równe) co oznacza, że w jednym
zapytaniu sql jest dwukrotne odwołanie do tej samej kolumny (nazwa
kolumny jest taka jak wartość exportu, np. A3satyna120) i wiersza, a
to oczywiście powoduje błąd.
Pomysł z tymczasową tabelą padł, z formularza i bazy korzysta
jednocześnie kilku użytkowników - a to oznacza błędne liczenie
papieru.
Heh.. i co tu wymyślić?




Grzegorz Danowski - 13-11-2006 00:48

  Użytkownik "fArmer" <Bartek.Pasierb@gmail.com> napisał w wiadomości
news:1162845149.226846.163330@h54g2000cwb.googlegr oups.com...
<cite>
Z nazwami jest wszystko ok, np. papier3 jest zmienna która pobiera
wartość exportu z trzeciego pola wyboru papieru w formularzu, gdzie w
polu można wybrać: "A3 satyna 90g"(export: A3satyna90), "A3 satyna
100g"(export:A3satyna100), itd.
</cite>

W takim razie masz koszmarną strukturę tabeli. Spróbuj ją znormalizować, np.
do postaci:

Create Table PapieryRodzaje(
RodzajId Int Primary Key,
RodzajNazwa Varchar(20)
)

Create Table Magazyn(
ZlecenieNr Int,
RodzajId Int References PapieryRodzaje(RodzajId),
LiczbaArkuszy Int,
Constraint Pk_Magazyn Primary Key (ZlecenieNr, RodzajId)
)

Pozdrawiam
Grzegorz
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • effulla.pev.pl
  • comp
    [MySQL] Czy da =?ISO-8859-2?Q?si=EA_wykonac_takie_powi=B1z?==?ISO-8859-2?Q?anie_mi=EAdzy_tabelami=2C_i_jak_to_odpyta=E6_? ==?ISO-8859-2?Q?=3F?= [mysql] przenoszenie danych =?ISO-8859-2?Q?mi=EAdzy_tabelami_?==?ISO-8859-2?Q?w_r=F3=BFnych_bazach?= Zwracanie wartości, z funkcji, w funkcji [Js, Ajax] Problem z wartościami w MySQL :( [ MySQL and ASP and VBScript ] Insert do tabeli z danych innej tabeli plus dodatkowa wartośćpola (Firebird) Przenikanie =?ISO-8859-2?Q?zdj=EAc=2C_slide_show=2C_macrom?==?ISO-8859-2?Q?edia_flash_6?= Czy duza jest roznica miedzy Corel Draw Graphic Suite X3 ENG Box Upgrade a Corel Draw Graphic Suite 11? Ms SQL Server 2000 i błąd przy nie wypełnionej wartościo w polusmalldatetime Jak wyswietlic dane z dwoch tabel gdy dla jednej z nich jest brak jest danej wartosci [mysql 4.0.24] INSERT do tabeli z automatyczną inkrementacją wartości pola.
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • latwa-kasiora.pev.pl
  • Cytat

    Decede mihi sole - nie zasłaniaj mi słonca.
    Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści
    Hoc fac - tak czyń.
    A tergo - od tyłu; z tyłu.
    I czarne włosy posiwieją. Safona

    Valid HTML 4.01 Transitional

    Free website template provided by freeweblooks.com