Article View: pl.comp.bazy-danych.msaccess
Article #137704Re: Kryterium kwerendy z pola formularza funkcja In()
From: leku
Date: Mon, 07 Sep 2020 17:45
Date: Mon, 07 Sep 2020 17:45
80 lines
3694 bytes
3694 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:
FunkcjaWykonawcy = "'Nowak 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
Technical Details
Message-ID:
<5f56719b$0$553$65785112@news.neostrada.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!news.samoylyk.net!aioe.org!peer01.ams4!peer.am4.highwinds-media.com!news.highwinds-media.com!newsfeed.neostrada.pl!unt-exc-02.news.neostrada.pl!unt-spo-b-01.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mailReferences:
<5f5278ec$0$525$65785112@news.neostrada.pl> <5f55545a$0$542$65785112@news.neostrada.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!news.samoylyk.net!aioe.org!peer01.ams4!peer.am4.highwinds-media.com!news.highwinds-media.com!newsfeed.neostrada.pl!unt-exc-02.news.neostrada.pl!unt-spo-b-01.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mail From: "leku" <lekucz@wp.pl> Newsgroups: pl.comp.bazy-danych.msaccess References: <5f5278ec$0$525$65785112@news.neostrada.pl> <5f55545a$0$542$65785112@news.neostrada.pl> In-Reply-To: <5f55545a$0$542$65785112@news.neostrada.pl> Subject: Re: Kryterium kwerendy z pola formularza funkcja In() Date: Mon, 7 Sep 2020 19:45:00 +0200 MIME-Version: 1.0 X-Priority: 3 X-MSMail-Priority: Normal Importance: Normal X-Newsreader: Microsoft Windows Live Mail 16.4.3528.331 X-MimeOLE: Produced By Microsoft MimeOLE V16.4.3528.331 X-Antivirus: Avast (VPS 200907-0, 07.09.2020), Outbound message X-Antivirus-Status: Clean Lines: 81 Message-ID: <5f56719b$0$553$65785112@news.neostrada.pl> Organization: Telekomunikacja Polska NNTP-Posting-Host: 83.20.217.49 X-Trace: 1599500699 unt-rea-a-02.news.neostrada.pl 553 83.20.217.49:50074 X-Complaints-To: abuse@news.neostrada.pl X-Received-Bytes: 3530 X-Received-Body-CRC: 516735637 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit