nadal nie napisałeś tego o co prosiłem.. tzn co chcesz zobaczyć i jak ?
domyślam się że mamy doczynienia z relacją jeden do wielu gdyż jeden klient może mieć kilka zleceń ale zlecenie może być przypisane tylko do jednego klienta (chyba że się mylę więc napisz bo wtedy będzie to inaczej zrobione).
domyślam się również że chcesz to wyświetlić w 2 datagridview gdzie w jednym będzie lista klientów a w drugim lista zleceń... (chyba że odwrotnie to też napisz).
domyślam się że chodzi tylko o selecta...
nie wiem jak używasz połączenia do sql'a bo jest kilka różnych opcji... ja napiszę ci to tak jak ja to robię (choć możesz użyć do tego celu konstruktorów dostępnych w VS) przy użycie sqlclient.
przyjmijmy że w pierwszym dgv będziemy mieli takie dane o kliencie jak imię, nazwisko, nr telefonu i adres mailowy (możemy mieć również licznik zleceń które są otwarte bądź licznik zleceń które były zamówione kiedykolwiek przez danego klienta bądź jakikolwiek licznik dotyczący danego klienta) możemy również ukryć klientów którzy aktualnie nie posiadają żadnego otwartego zlecenia.
w drugim dgv (bądź tekstboksach lub labelach obojętnie) będziemy wyświetlać szczegóły zlecenia danego klienta (lepiej jednak wyświetlić listę i dopiero po wybraniu z listy wyświetlić szczegóły ze względu na to że może zaistnieć taka sytuacja że jeden klient będzie miał otwarte więcej niż jedno zlecenie i trzeba będzie je rozróżnić)
oczywiście możesz to zrobić odwrotnie a nawet ze strony pracownika serwisu było by to bardziej naturalne gdyż nie interesują go wszyscy ludzie świata tylko zlecenia które ma w danym momencie na warsztacie...
teraz kilka zdań w temacie konstrukcji bazy...
jeżeli chodzi o tblKlient to:
jak już zauważyłeś wiele pól ma podobne nazwy i sam użyłeś nawet notacji IdKlienta... ale dlaczego nie trzymasz się tego do końca i nie użyłeś ImieKlienta itd??? takie praktyki mszczą się niemiłosiernie później...
ja jednak proponuję aby użyć nazw w ten sposób...
id_kli
kli_imie
kli_nazwisko
kli_telefon
kli_mail
kli_id_zlecenia
takie podejście do sprawy ułatwia życie gdyż w intelisense nazwy będą się wyświetlać w odpowiedniej kolejności tak więc jeżeli będziesz chciał znaleźć jakieś id to powinna ci się wyświetlić lista wszystkich dostępnych id...
natomiast jeżeli będziesz chciał uzyskać dostęp do kolumny w tabeli klient to po wpisaniu kli_ otrzymasz listę wszystkich kolumn dostępnych w danej tabeli... ot taka pierdoła ale się sprawdza...
tabela zlecenia potraktowana zostanie tak samo... z tym że masz tam pole status i podejrzewam że jest ono użyte przez ciebie do określania statusu zamówienia czyli "zrealizowane" "w trakcie" czy jakoś podobnie...
otóż nie robi się tego w ten sposób.. powinno się wystawić "flagę" czyli status powinien być boolean a nie string... (chodzi o sposób sortowania i szybkość działania sql'a)
jeżeli potrzebujesz więcej niż jednego typu statusu to możesz użyć dwóch pól flaga i masz gotowy opis 4 rodzajów statusu...
jeszcze jedno na przyszłość... jeżeli ktoś prosi o strukturę tabel to nie wstawiasz okienka z bitmapą tylko używasz prawego przycisku myszy klikając na nazwie bazy wybierasz Tasks potem Generate script i dalej z kreatora otrzymujesz coś takiego...
Zaloguj się, aby zobaczyć kod
tak więc mam prośbę abyś odpowiedział w punktach na zadane przeze mnie pytania i jak wrócę z zakupów to ci sklecę jakiś kod...
Wracając do tematu...
utworzymy tabelę z przykładowymi danymi... (zwróć uwagę na nazwy występujące w moim skrypcie żebyś sobie przypadkiem nie usunął tabeli z danymi)
Zaloguj się, aby zobaczyć kod
mając już przykładowe dane 20 tyś klientów i 100 tyś zgłoszeń możesz przejść do strojenia zapytań...
podstawowe zapytanie pokazujące nr zlecenia i podstawowe dane o kliencie ...
Zaloguj się, aby zobaczyć kod
teraz dodając warunki ii opcje sortowania możesz otrzymać wszystko co sobie chcesz...
i tak np. możesz sobie pobrać listę wszystkich zleceń wydanych od 1 stycznia 2013 do 1 lipca 2013
Zaloguj się, aby zobaczyć kod
zmieniając warunek na zle_flaga = 0 otrzymasz wszystkie zlecenia które jescze nie zostały zrealizowane a dodając ORDER BY zle_date_przyjecie posortujesz sobie niezrealizowane zlecenia według daty przyjęcia...
ale najważniejsze co musisz zrobić to sprawdzić jak będą wyglądać plany wykonania dla twoich zapytań...