Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Formularz wypełniany przez makro
Forum PHP.pl > Forum > Bazy danych > Access
Azek
Mam formularz, do którego chcę wrzucić dane z kwerendy. Może ona zwracać więcej niż jeden rekord więc łączę to w vba i wpisuję w pole:

Private Sub Form_Load()
Dim con As New ADODB.Connection, txt As String
Dim rs As New ADODB.Recordset
Set con = CurrentProject.Connection
Query = "SELECT tbMiasto.Miasto FROM tbMiasta WHERE tbMiasto.MiastoID=" & Me![IDWpisu]
rs.Open Query, con, adOpenKeyset, adLockReadOnly
rs.MoveFirst
' przejście do pierwszego rekordu w "rs"
While Not rs.EOF
s = s + " " + rs![Miasto]
rs.MoveNext
' przejście do następnego rekordu w "rs"
Wend
Me![Miasta] = s
'tu wpisanie do pola formularza
End Sub

Problem jest następujący: funkcja działa tylko raz, pobiera dane z jednego rekordu i wpisuje potem wszędzie to samo.
Pytanie: jak zmusić Accessa, aby funkcja zadziałała dla każdego rekoru i w każdym rekordzie były powiązane z nim dane?
mar1aczi
Sprawdź tak:
Kod
        Do While Not RS.EOF
           Row = Row + 1
           For Findex = 0 To RS.Fields.Count - 1
             If Row >= Rows.Count - 50 Then
                Exit For
             End If
             s = s + " " + rs![Miasto]
           Next Findex
           RS.MoveNext
        Loop

Jeśli to nie problem, wystaw gdzieś to co piszesz (część problematyczną z przykładowymi danymi).
Azek
Link do bazy

W skrócie: chodzi o formularz, w którym pole z miastem/miastami jest wypełniane przez makro. Powinno tam gdzie jest "wycieczka w góry" wyświetlać Kraków i Zakopane. Natomiast makro pobiera z pierwszego rekordu i ładuje do wszystkich, w tym przypadku Gdańsk.
Jak zrobić, dla każdej wycieczki wyświetlał odpowiednie miasta (1-Gdańsk, 2-Kraków Zakopane, 3-Warszawa)?

A tak wogóle to dzięki za chęć pomocy! Bo patrząc po postach to sporo jest bez odpowiedzi...
mar1aczi
Troszkę w inny sposób podszedłem do problemu.
Proszę: demo.mdb
W razie trudności z odnalezieniem zmian postaram się nakierować co zmieniłem smile.gif
Azek
Gościu!! Jesteś wielki, to jest to nad czym męczyłem się dwa dni! Ekstra! Wielkie dzięki!
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2024 Invision Power Services, Inc.