2017-11-28 2 views
0

Ich habe eine Firebird-Datenbank und eine Abfrage von Excel. Am Anfang habe ichÜbergeben einer Liste von Zahlen von Excel zu Abfrage in Firebird SQL

WHERE (table.myID IN (1,2,3)) 

, die funktioniert, um den Parameter in SQL an firebird übergeben. Meine table.myID ist mit ganzen Zahlen. Dann habe ich versucht mit

WHERE (table.myID IN (?)) 

Parameter aus Excel passieren, wo ich ? eine Zelle zeigen. Wenn in der Zelle nur eine Nummer ist, die funktioniert. Aber wenn ich ?=1, 2, 3 von einer Zelle die Abfrage nicht funktioniert. Ich habe versucht, den Kontext zu zitieren, die Zelle zu formatieren, aber keinen Erfolg. in den Beispielen mit einer Liste von Text

Weitere Beiträge wie this oder this oder this dieses Puzzel mit INSTR und VBA lösen. Ich bin neu in Firebird und kenne nicht den ähnlichen INSTR Befehl oder eine andere Möglichkeit, diese Liste von ganzen Zahlen zu übergeben.

Also wie kann ich eine Liste von ganzen Zahlen von einer Zelle übergeben?

+1

[Parametrisieren eine SQL-IN-Klausel] (https://stackoverflow.com/questions/337704/parameterize-an-sql-in-Klausel) – lad2025

+0

Das Problem passiert mit Zahlen. Es ist für mich unklar, was genau von Zelle zu Zelle geht? –

+0

@LuizCarlosStevanatto sollten Sie Excel konstruieren und übergeben Sie die Zeichenfolge, bestehend aus Zahlen von und begrenzt in die vereinbarten Trennzeichen Symbole, die Ihre SQL-Abfrage würde in der LIKE-Klausel –

Antwort

0

Wie Arioch 'The in den Kommentaren erwähnt, ist die Abfrage

(?) MIT '~' || table.myID || '~'

und in der Zelle ist es

'~ 1 ~ 2 ~ 3 ~'

Verwandte Themen