Thread View: pl.comp.bazy-danych.msaccess
3 messages
3 total messages
Started by "leku"
Fri, 04 Sep 2020 19:27
Kryterium kwerendy z pola formularza funkcja In()
Author: "leku"
Date: Fri, 04 Sep 2020 19:27
Date: Fri, 04 Sep 2020 19:27
20 lines
547 bytes
547 bytes
Mam na formularzu IMPORT w polu Wykonawcy dane jak poniżej „Kowalski Jan” , „Nowak Andrzej” Mogę mieć też tak „Kowalski Jan” ; „Nowak Andrzej” Jak poprawnie przekazać kryterium z tego pola do kwerendy Wykorzystując funkcję In() accessa. Próbuję tak In([Forms]![IMPORT]![Wykonawcy]) – nie działa In( " & ([Forms]![IMPORT]![Wykonawcy]) & ") - też nie działa L pozdrawiam leku -- Ta wiadomość została sprawdzona na obecność wirusów przez oprogramowanie antywirusowe Avast. https://www.avast.com/antivirus
Re: Kryterium kwerendy z pola formularza funkcja In()
Author: Zbigniew Bratko
Date: Sun, 06 Sep 2020 23:27
Date: Sun, 06 Sep 2020 23:27
84 lines
2265 bytes
2265 bytes
This is a multi-part message in MIME format. --------------91B11478411FC18FB8D2C439 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit W dniu 04.09.2020 o 19:27, leku pisze: > Mam na formularzu IMPORT w polu Wykonawcy dane jak poniżej > „Kowalski Jan” , „Nowak Andrzej” > > Mogę mieć też tak > „Kowalski Jan” ; „Nowak Andrzej” > > Jak poprawnie przekazać kryterium z tego pola do kwerendy > Wykorzystując funkcję In() accessa. > > Próbuję tak > In([Forms]![IMPORT]![Wykonawcy]) – nie działa > In( " & ([Forms]![IMPORT]![Wykonawcy]) & ") - też nie działa L [...] Spróbuj podmienić SQL w kwerendzie. Coś w poniższy sposób: ' masz tabelę "MojaTabela" i korzystasz z kwerendy "MojaKwerenda" Private Sub btnOpenQuery_Click() Dim sSQL As String Dim dbs As DAO.Database Const cQryName As String = "MojaKwerenda" sSQL = "SELECT MojaTabela.*, MojaTabela.Wykonawcy" & _ " FROM MojaTabela" & _ " WHERE MojaTabela.Wykonawcy" & _ " IN (" & FunkcjaWykonawcy() & ");" Set dbs = CurrentDb With dbs ' sprawdź, czy istnieje kwerenda If IsObject(.QueryDefs(cQryName)) Then 'podmień SQL .QueryDefs(cQryName).SQL = sSQL Else 'utwórz kwerendę .CreateQueryDef cQryName, sSQL End If End With Set dbs = Nothing DoCmd.OpenQuery cQryName, acViewNormal, acEdit End Sub '_____________________________________________ Private Function FunkcjaWykonawcy() As String ' Tutaj musisz sam napisać funkcję, która przetworzy ' nazwiska wybranych Wykonawców do postaci poniżej: FunkcjaWykNowak Andrzej','Kowalski Jan'" End Function -- Pozdrawiam Zbigniew Bratko --------------91B11478411FC18FB8D2C439 Content-Type: text/x-vcard; charset=utf-8; name="adminBEZTEGO.vcf" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="adminBEZTEGO.vcf" begin:vcard fn:Zbigniew Bratko n:Bratko;Zbigniew note;quoted-printable:-- Pozdrowienia BraZby www.faq.accdb.pl www.accdb.pl version:2.1 end:vcard --------------91B11478411FC18FB8D2C439--
Re: Kryterium kwerendy z pola formularza funkcja In()
Author: "leku"
Date: Mon, 07 Sep 2020 19:45
Date: Mon, 07 Sep 2020 19:45
80 lines
2323 bytes
2323 bytes
Użytkownik "Zbigniew Bratko" napisał w wiadomości grup dyskusyjnych:5f55545a$0$542$65785112@news.neostrada.pl... W dniu 04.09.2020 o 19:27, leku pisze: > Mam na formularzu IMPORT w polu Wykonawcy dane jak poniżej > „Kowalski Jan” , „Nowak Andrzej” > > Mogę mieć też tak > „Kowalski Jan” ; „Nowak Andrzej” > > Jak poprawnie przekazać kryterium z tego pola do kwerendy > Wykorzystując funkcję In() accessa. > > Próbuję tak > In([Forms]![IMPORT]![Wykonawcy]) – nie działa > In( " & ([Forms]![IMPORT]![Wykonawcy]) & ") - też nie działa L [...] Spróbuj podmienić SQL w kwerendzie. Coś w poniższy sposób: ' masz tabelę "MojaTabela" i korzystasz z kwerendy "MojaKwerenda" Private Sub btnOpenQuery_Click() Dim sSQL As String Dim dbs As DAO.Database Const cQryName As String = "MojaKwerenda" sSQL = "SELECT MojaTabela.*, MojaTabela.Wykonawcy" & _ " FROM MojaTabela" & _ " WHERE MojaTabela.Wykonawcy" & _ " IN (" & FunkcjaWykonawcy() & ");" Set dbs = CurrentDb With dbs ' sprawdź, czy istnieje kwerenda If IsObject(.QueryDefs(cQryName)) Then 'podmień SQL .QueryDefs(cQryName).SQL = sSQL Else 'utwórz kwerendę .CreateQueryDef cQryName, sSQL End If End With Set dbs = Nothing DoCmd.OpenQuery cQryName, acViewNormal, acEdit End Sub '_____________________________________________ Private Function FunkcjaWykonawcy() As String ' Tutaj musisz sam napisać funkcję, która przetworzy ' nazwiska wybranych Wykonawców do postaci poniżej: FunkcjaWykNowak Andrzej','Kowalski Jan'" End Function -- Pozdrawiam Zbigniew Bratko --------------------------------------------------------------------------------------------- Dziękuję bardzo za przykład rozwiązania mojego problemu. Biorę się za adaptację Dane są pobierane z pola listy wielokrotnego wyboru. I za pomocą gotowej funkcji wrzucane do pola Wykonawcy na formularzu w układzie "Nowak Andrzej,Kowalski Jan" akceptowalnym przez operator In() pozdrawiam leku -- Ta wiadomość została sprawdzona na obecność wirusów przez oprogramowanie antywirusowe Avast. https://www.avast.com/antivirus
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads