zapytanie SQL w Accessie

0

Witam!!!

Mam pytanko, jak zależy sformułować zapytanie SQL, aby dodać rekord do tabeli,ale tutaj mała uwaga:

  1. Mam tabelę Programy a w niej pola ID, Nazwa Programu, Kategoria, Opis Programu oraz Nr płyty CD.
  2. Pole ID jest typu Autonumerowanie Liczba całkowita typ przyrostowy
    Jak zatem wybrnąć z sytuacji, gdyż jakakolwiek próba napisania zapytania INSERT INTO wywala mi błąd składni bądź też błąd o kodzie -3035 lub coś w tym stylu.
    Gdy wpisałem takie zapytanie w kwerendzie:
    INSERT INTO Programy VALUES(AUTO_INCREMENT,'delphi','Użytkowe','Narzędzie RAD','001'); to robi mi się kwerenda z parametrem i muszę podać parametr, który kwerenda wstawia w pole ID, a ja chciałbym zrobić to tak, aby zapytanie samo wstawiło odpowiednią wartość w pole ID. Czy ktoś może mi pomóc? [???] [!!!] ?
0

Nie pamiętam składni SQL w Accessie, ale spróbuj w taki sposób:

INSERT INTO Programy('Nazwa programu','Kategoria','Opis Programu','Nr płyty CD') VALUES('delphi','Użytkowe','Narzędzie RAD','001');

0
IP napisał(a)

Nie pamiętam składni SQL w Accessie, ale spróbuj w taki sposób:

INSERT INTO Programy('Nazwa programu','Kategoria','Opis Programu','Nr płyty CD') VALUES('delphi','Użytkowe','Narzędzie RAD','001');

Niestety też w ten sposób próbowałem kilka dni temu, ale access wywalał błąd składni!!! :-/

Znalazłem jak to trzeba zrobić!!! I działa!!!
a Składnia wygląda tak:
INSERT INTO Programy ( [Nazwa Programu], [Kategoria], [Opis Programu], [Identyfikator Płyty CD/DVD] ) VALUES ('delphi', 'Użytkowe', 'Narzędzie RAD', '001');

0

Jaki jest komunikat bledu?

0

Witam,

Mam mały problem z zbudowanieniem zapytania do jednej mojej tabeli... mam nadzieję, że ktoś się nad teamatem pochyli :)

a teraz dokładnie:
załączyłem przykładową bazę z jedną tabelą na której chce zbudować zapytanie, pola:

  • Identyfikator
  • ID_klient
  • Nr_operatora
  • Imie
  • Nazwisko

Chcę aby zapytanie zwróciło mi takie rekordy gdzie w tabeli:
dla konkretnego ID_klient występują tylko i wyłącznie minimum dwa takie same Nr_operatora.

Dane w tabeli zostały tak przygotowane aby wynikiem tego zapytania były 2 rekordy o Identyfikatorze 4 i 5.

1
select identyfikator from tbloperacje where id_klient in (
select id_klient from tblOperacje group by id_klient  having count(nr_operatora)=2 )
0

Bardzo Ci dziękuje, prawie jest to o co chodzilo. Brakuje mi tylko tego, że nie pokaże mi wyniku jesli w tabeli będzie więcej niż 2 takie same Nr operatora dla jednego ID-klienta

0

Jeśli chcesz tych, których nr_klienta nr_operatora powtarza się 2 i więcej razy, to daj po prostu >=2 zamiast =2. Tylko wtedy uzyskany wynik będzie inny (1,2,3,4,5), a Ty napisałeś, że "Dane w tabeli zostały tak przygotowane aby wynikiem tego zapytania były 2 rekordy o Identyfikatorze 4 i 5. ", stąd =2 w poleceniu. Istnieje też możliwość, że jednak nie rozumiem, czego oczekujesz... :)

0

Wynik został faktycznie osiągnięty i nasz cel się nie zmienia, tylko metoda trochę nie bierzę pod uwagę wszytkich sytuacji :)

dodałem jeden wpis tak aby nr operatora dla jednego id_klienta był więcej niż 2 razy. W zaistniałej sytuacji wynikiem powinny być rekordy o identyfikatorze: 4,5,10.

dodałem też Twoje zapytanie :)

0

Potwierdź, czy dobrze rozumiem: chcesz wyświetlić te rekordy, dla których nr_operatora dla każdego nr_klienta występuje nie mniej, niż dwa razy, i jednocześnie nr_operatora występował tylko dla jednego nr_klienta?

0
fourfour napisał(a):

... dla których nr_operatora dla każdego nr_klienta występuje nie mniej, niż dwa razy

Tak, ale tu trzeba jeszcze dodać, że dla danego id_klienta nie wystąpuje, żaden inny nr_operatora. czyli jesli:
ID_klient o nr 1 ma nr_operatora 2 (nie mniej niż dwa razy) to jest on w wyniku kwerendy natomiast jesli:
ID_klient o nr 1 ma nr_operatora 2 (nie mniej niż dwa razy) i jeszcze np. jeden nr_operatora 4 to już nie może być wykazywany.

fourfour napisał(a):

i jednocześnie nr_operatora występował tylko dla jednego nr_klienta?

Nie, nr_operatora może się powtarzać dla wielu id_klient.

Ciężko to opisać ale mam nadzieję, że teraz się udało :)

0

Jeśli takie zapytanie nie jest możliwe do wykonania to także proszę o taką informację, będę wiedział, że nie warto już tym się zajmować lub zacznę szukać jakiegoś alternatywnego rozwiązania.

1 użytkowników online, w tym zalogowanych: 0, gości: 1