ďťż
Lemur zaprasza
Strona: [ > ] z 1 Autor Temat: Gdzie się błąd kryje...?? Antek Typ: neutral Postów: 11 Zarejestrowany: Mar 2005 Gdzie się błąd kryje...?? Komunikat błędu podczas otwierania strony asp w explorerze: Typ błędu: Microsoft VBScript - błąd kompilacji (0x800A0409) Brak zakończenia stałej znakowej /northDB/formulaire.asp, line 20, column 614 sql = "SELECT [publikacje].[tytul], [publikacje].[rok], [publikacje].[informacje], [typ].[nazwa] AS typ, [autorzy].[nazwisko] & ' ' & [autorzy].[imie] AS autor FROM typ INNER JOIN (publikacje INNER JOIN (autorzy INNER JOIN autorzy_publikacje ON [autorzy].[ID_Autor]=[autorzy_publikacje].[F_Autor]) ON [publikacje].[ID_Publikacja]=[autorzy_publikacje].[F_Publikacja]) ON [typ].[ID_Typ]=[publikacje].[F_Typ] WHERE ((([publikacje].[rok])='" & Request.QueryString("[forms]![Formulaire]![rok]" )& "') And (([autorzy].[nazwisko] & ' ' & [autorzy].[imie])='" & Request.QueryString("[forms]![Formulaire]![autor]" )& "')) 12-04-2005 11:56 Antek Typ: neutral Postów: 11 Zarejestrowany: Mar 2005 Poprawka Wiem gdzie znajduje się błąd, ale nie wiem jak to powinno wyglądać poprawnie... 15-04-2005 10:13 karolinavb Typ: neutral Postów: 467 Zarejestrowany: Jan 2003 Ponieważ nie bardzo mam jak to zamodelować, powiedz gdzie jest ten błąd, czy tkwi on tutaj: [forms]![Formulaire]![rok] ? _____________________________________________ Karolina 15-04-2005 11:13 Antek Typ: neutral Postów: 11 Zarejestrowany: Mar 2005 Tak to jest w przedostatniej linice. 16-04-2005 18:34 karolinavb Typ: neutral Postów: 467 Zarejestrowany: Jan 2003 Antku Napisałes "tak", rozumiem, że tutaj tkwi błąd: [forms]![Formulaire]![rok] ([publikacje].[rok])='" & Request.QueryString("[forms]![Formulaire]![rok]" )& ..... więc teraz moje pytanie brzmi: jakiego typu jest pole ([publikacje].[rok] ? bo wyrażenie Twoje moim zdaniem napisane jest tak jakby u Ciebie pole rok było typu tekstwego. Jeśli jest to pole numeryczne wyrażenie Request.QueryString("[forms]![Formulaire]![rok]" ) powinno być bez znaków apostrofu (nie poprzedzone i nie zakończone) czyli ' na początku i na końcu na końcu tego całego wyrażenia brakuje też cudzysłowu, ale to wiesz ? [Post edytowany dnia 16-04-2005 19:39 przez karolinavb] _____________________________________________ Karolina 16-04-2005 19:34 Antek Typ: neutral Postów: 11 Zarejestrowany: Mar 2005 Droga Karolinko Dziękuję ogromnie za zainteresowanie moim problemem i udzielone i rady Co do typu pola [publikacje].[rok] to jest ono liczbowe i dokonałem zmian tak jak mi napisałaś wyżej. Dodałem również cudzysłów na samym końcu liniki. Niestety pojawił się kolejny błąd... Typ błędu: Microsoft OLE DB Provider for ODBC Drivers (0x80040E14) [Microsoft][Sterownik ODBC Microsoft Access ] Zbędny ) w wyrażeniu kwerendy '((([publikacje].[rok])=) And (([autorzy].[nazwisko] & ' ' & [autorzy].[imie])=''))'. /northDB/formulaire.asp, line 22 Rozumiem, że jest o jeden zbędny nawias ) za dużo i w komunikacie go widzę. Jednak w źródle już go nie dostrzegam i nie widzę żadnego zbędnego nawiasu... ((([publikacje].[rok])=" & Request.QueryString("[forms]![Formulaire]![rok]" ) & " ) And (([autorzy].[nazwisko] & ' ' & [autorzy].[imie])='" & Request.QueryString("[forms]![Formulaire]![autor]" )& "')) 18-04-2005 10:07 karolinavb Typ: neutral Postów: 467 Zarejestrowany: Jan 2003 Antku Tak się wydarzy jeśli wyrażenie: Request.QueryString("[forms]![Formulaire]![rok] będzie puste wówszas w stringu są puste znaki zamiast liczby i nawias i chyba analogicznie Request.QueryString("[forms]![Formulaire]![autor] tylko zostają 2 apostrofy i potem zostają 2 nawiasy. Należy wyeliminować taki przypadek informując użytkownika, że te pola są puste przed wykonaniem zapytania. Takie jest moje zdanie i chyba zwykła praktyka po wypełnieniu formularza nie tylko na www. Jeśli natomiast użytkownik może pozotawić te pola puste należy opracować różne wersje zapytania, osobne, bądź wbudować klauzule IF. Przy czym ta 1-sza wersja wydaje się bardziej prosta przy braku wprawy i nie tylko wtedy, zwłaszcza gdy string SQL jest długi. [Post edytowany dnia 18-04-2005 10:32 przez karolinavb] _____________________________________________ Karolina 18-04-2005 10:25 Antek Typ: neutral Postów: 11 Zarejestrowany: Mar 2005 Karolino Zrobiłem formularz, w którym uzytkownik nie może pozostawić pustego pola, chociaż jest puste na początku. Niestety orłem jeszcze nie jestem jeżeli chodzi o te sprawy i nie moge znaleźć tego miejsca gdzie pozostawić dwa apostrofy i dwa nawiasy... Pozdrawiam mi życze miłego dzionka 18-04-2005 11:05 karolinavb Typ: neutral Postów: 467 Zarejestrowany: Jan 2003 Antku Nawet jeśli zrobiłeś ten formularz poprawnie to wyraźnie moim zdaniem widać, że Request.QueryString("[forms]![Formulaire]![rok] - jest puste oraz Request.QueryString("[forms]![Formulaire]![autor]" ) - jest puste Być może jest jakaś inna przyczyna,że te wyrażnia w momencie wykonywania kwerendy są puste bo moim zdaniem jeśli te wyrażenia nie są puste liczba nawiasów jest dobra, może się mylę, ale tu: =) jest brak liczby roku !!!!!!!!!!! a tutaj ='')) sa 2 apostrofy, a nie cudzysłów więc brak jest stringu autor ? O ile to ostatnie powoduje, że jest poszukiwane puste pole, o tyle brak roku jest przyczyną tego nawiasu za znakiem równości. ((([publikacje].[rok])=) And (([autorzy].[nazwisko] & ' ' & [autorzy].[imie])='')) Może przed wejściem do Kwerendy wyświetl sobie treść ostateczną tej kwerendy jak zwykły string i zobacz wartości tych 2-ch wyrażeń. [Post edytowany dnia 18-04-2005 11:41 przez karolinavb] _____________________________________________ Karolina 18-04-2005 11:31 Antek Typ: neutral Postów: 11 Zarejestrowany: Mar 2005 Karolino A może byłaby taka możliwość żeby przesłać Ci moją bazkę i rzuciłabyś okiem dlaczego tak się dzieje i co zrobić, aby działało to poprawnie w asp? 18-04-2005 11:48 karolinavb Typ: neutral Postów: 467 Zarejestrowany: Jan 2003 Przesłać możesz oczywiście, zawsze chętnie ogladam cudze prace, lecz nie obiecuję, że znajdę czas wcześniej niż w sobotę, chyba, że uda mi się to poprawić "w pierwszym podejściu". No i mam Office XP. [Post edytowany dnia 18-04-2005 12:21 przez karolinavb] _____________________________________________ Karolina 18-04-2005 12:17 Antek Typ: neutral Postów: 11 Zarejestrowany: Mar 2005 Karolina to bardzo solidna firma, na którą można liczyć!! Bardzo mi pomogła i cierpliwie wytłumaczyła pewne sprawy. 20-04-2005 18:46 Antek Typ: neutral Postów: 11 Zarejestrowany: Mar 2005 Karolina to bardzo solidna firma, na którą można liczyć!! Bardzo mi pomogła i cierpliwie wytłumaczyła pewne sprawy. 20-04-2005 18:47 Wszystkich odpowiedzi: 12 :: Maxymalnie na stronę: 20 Strona: [ > ] z 1 |