Temat: access i wybór danych do raportu

Witam!

Mam problem z wyborem danych do raportu, mianowicie mam trzy komboboxy z których są brane dane do raportu (nazwisko, blok, ćwiczenie)

po zaznaczeniu wszystkich trzech (np. Kowalski, blok1, ćw1) wyświetli raport dotyczący tego jednego ćwiczenia w bloku z tą osobą (każda osoba ma kilka bloków a w każdym bloku kilka ćwiczeń). i wszystko śmiga. Jednak teraz chciałbym to zrobić tak, aby jeżeli nie zaznaczymy ćwiczenia to raport wziął dane wszystkich ćwiczeń, i wyświetlił nam wszystkie ćwiczenia kowalskiego w danym bloku (czyli kilka stron raportów nr1,2,3,4,itd.) i analogicznie z niewypełnieniem ani bloku ani ćwiczenia pana kowalskiego.

Wiem że można to zrobić na osobnych raportach ale problemem jest tutaj skomplikowanie formularza 600 formatowań warunkowych odnoszących się do innych komórek w tym raporcie, tak więc przy zmianie nazwy raportu musiał bym z powrotem klepać kolejne relacje.

A kolejnym pytaniem w tym temacie jest zrobienie komboboxa do wyboru paru elementów (np ćwiczenie 1,4,6 pana Kowalskiego w bloku pierwszym).

Pozdrawiam i jak zwykle liczę na waszą bezcenną pomoc.

Temat: access i wybór danych do raportu

Witam,
Musisz pomyslec nad źrodlem danych dla otwieranego raportu, np. p9 nacisnieciu przycisku.
Przy zalozeniu ze wszystkue kryteria sa tekstem:

Potrzebujesz SQLa z kryteriami.

Function Buduj_sql() as string
Dim sSQL as String
Dim sKryteria as String

If Not IsNull(me.cbo_Nazwisko) Then
sKryteria= sKryteria & " '" & me.cbo_Nazwisko & "' "
End if

If Not IsNull(me.cbo_blok) Then
sKryteria= sKryteria & " '" & me.cbo_blok & "' "
End if

If Not IsNull(me.cbo_cw) Then
sKryteria= sKryteria & " '" & me.cbo_cw & "' "
End if

sSQL= "SELECT * FROM tabela WHERE " & sKryteria

Buduj_sql=sSQL

End function

Dla raportu przypisujesz wartosc RecordSource z funkcji Buduj_sql.

Temat: access i wybór danych do raportu

Przepraszam ale pominąłem zakończenie SQLa. Poprawka.

sSQL= "SELECT * FROM tabela WHERE " & sKryteria & ";"

Temat: access i wybór danych do raportu

Jakbyś mi jeszcze podpowiedział jak to zrobić:

Dla raportu przypisujesz wartosc RecordSource z funkcji Buduj_sql.

Przepraszam za moja upierdliwosć i niedouczenie...

Temat: access i wybór danych do raportu

https://msdn.microsoft.com/en-us/vba/access-vba/article...

Intereseduje Cie: OpenArgs

Temat: access i wybór danych do raportu

Dla raportu w zdarzeniu OnLoad:
If Me.OpenArgr<>"" Then
Me.recordSource=Me.OpenArgs
end if

Temat: access i wybór danych do raportu

Zastanow sie czy nie dopisac linijki w warunku gdy OpenArgs jest puste. W tamim przypadu zwroci Ci wszystkie rekordy. Cos w rodzaju:

Else
MsgBox "Nie zostaly wybrane kryteria!", vbCritical, "Blad danych"
DoCmd.Close Me.Name
End if

Mozesz tez pomyslec nad zmiennymi tymczasowymi (TempVars) - googlowanie bie boli.

Powodzenia



Wyślij zaproszenie do