FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen   RegistrierenRegistrieren 
 ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 
smartsuitefaq.martinholz.de Foren-Übersicht

SQL Suche für Zahlenbereich

 
Neues Thema eröffnen   Neue Antwort erstellen    smartsuitefaq.martinholz.de Foren-Übersicht -> Approach-Scripte
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
matze2407
User


Anmeldungsdatum: 28.01.2007
Beiträge: 11
Wohnort: Landshut

BeitragVerfasst am: Mi 28.05.2008 07:31    Titel: SQL Suche für Zahlenbereich Antworten mit Zitat

Hallo,

Ich habe eine Datei, in der Frachtpreise bestimmten PLZ zugeordnet sind. z.B. für 10000 bis 19999 € 19,50. Gibt es eine möglichkeit wie bei einer normalen Suche zu sagen, finde Suchwert >= PLZ1 und <= PLZ2?

Danke
Mathias
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Martin
Site Admin


Anmeldungsdatum: 31.12.2004
Beiträge: 389
Wohnort: Düsseldorf

BeitragVerfasst am: Sa 31.05.2008 12:16    Titel: Antworten mit Zitat

Da Du im Script-Bereich gepostet hast, gehe ich davon aus, dass Du die Suche über LotusScript realisieren möchtest.

Hier ein Beispiel, das Du natürlich auf Deine DB anpassen musst:
Code:
Sub PLZBereichSuchen
   Dim PLZvon As String, PLZbis As String
   PLZvon = CurrentView.Body.von.text
   PLZbis = CurrentView.Body.bis.text
   
   If (PLZvon="" Or PLZbis="") Then
      Msgbox ("Du musst schon was Eintragen!")
      Exit Sub
   Elseif (PLZvon > PLZbis) Then
      Msgbox ("Das ist auch nicht viel schlauer - ""von"" muss kleiner sein als ""bis"" ")
      Exit Sub
   Elseif (Isnumeric(PLZvon) And Isnumeric(PLZbis)) Then
      ' Suche definieren und starten
      Dim SuchString As String
      SuchString = PLZvon & "..." & PLZbis
      Call CurrentWindow.FindAll
      Set PLZAbfrage = New Find
      PLZAbfrage.And "Plz", SuchString
      CurrentDocument.Window.FindSort (PLZAbfrage)   
   Else
      Msgbox ("Es ist hilfreich Zahlen für die Suche zu benutzen")
      Exit Sub
   End If
End Sub

"von" ist ein ungebundenes Eingabefeld in einem Formular
"bis" ist ein ungebundenes Eingabefeld in einem Formular
"Plz" ist das zu durchsuchende Feld in der Datenbank

Beispieldatei unter: http://smartsuitefaq.martinholz.de/download/PLZBereichSuche-Script.zip
_________________
FAQ gelesen?
=> http://smartsuitefaq.martinholz.de/
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden AIM-Name Yahoo Messenger MSN Messenger
matze2407
User


Anmeldungsdatum: 28.01.2007
Beiträge: 11
Wohnort: Landshut

BeitragVerfasst am: Do 05.06.2008 10:13    Titel: Antworten mit Zitat

Halllo Martin,

danke für deine Antwort. Ich glaube ich habe mit nicht so ganz 100%ig ausgedrückt bei meiner Frage.

Ich möchte eine automatische Abrechnung machen. Dazu gibt der user ein z.B. 500 kg nach PLZ 47101.
Dann sollte in einer nicht verbundenen Datenbank (da sehr umfangreich) nach den abzurechnenden Raten gesucht werden. die felder wären ungefähr so [abKilo] [bisKilo] [abPLZ] [bisPLZ] [Preis1] [Nebenspesen].
also müsste irgendwie so sein wie [abKilo] < Eingabekg und [bisKilo] > Eingabekg und [abPLZ] < EingabePLZ und [bisPLZ] > EingabePLZ. Als Suche denke ich könnte ich das schon hinbekommen.
Ich wollte wenn möglich aber das über eine SQL abfrage machen, da ich dann die Datenbank nicht mit meiner APR verbinden muss. Ich weis aber nicht ob / wie das geht.

Gruß
Mathias
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Karlheinz Rößler
fleißiger User


Anmeldungsdatum: 31.12.2004
Beiträge: 79
Wohnort: Heidenheim

BeitragVerfasst am: Fr 06.06.2008 07:25    Titel: Antworten mit Zitat

Hallo Mathias,

ich habe für so ein "Nachschauen" in einer nicht verbundenen Tabelle eine Funktion, die die Werte beliebiger Felder in beliebigen Tabellen mit beliebigen Bedingungen ermittelt:

Code:
Function Lookup (Tabelle As String, Feld As String, Bed As String) As Variant
   'Die Funktion ermittelt den Wert des Feldes "Feld" in der Tabelle "Tabelle" mit der Suchbedingung "Bed".
   'Wird kein Satz gefunden, wird "---" zurück gegeben.
   
   Dim Con As New Connection
   Dim Qry As New Query
   Dim RS As New ResultSet
   
   If (Con.ConnectTo ("dBASE IV")) Then
      Set Qry.Connection = con
      Qry.Sql = |Select * From "| & Tabelle & |" Where | & Bed
      Set RS.Query = Qry
      
      If ((RS.Execute)<>False) Then
         If RS.NumRows>0 Then
            Lookup = Rs.GetValue(Feld)
         Else
            Lookup="---"
         End If
      End If
      Con.Disconnect
   End If
End Function


Der Aufruf müsste bei Dir etwa so aussehen:

Code:
with currentview.body
    bed=|abkg<| & .Kg.text & | and bisKg>| & .Kg.text & | and abPLZ<| & .PLZ.text & | and bisPLZ>| & .PLZ.text
    Preis=Lookup("c:\...\tabelle.dbf", "Preis", bed)
end with

_________________
Mit freundlichen Grüßen
Karlheinz Rößler
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
matze2407
User


Anmeldungsdatum: 28.01.2007
Beiträge: 11
Wohnort: Landshut

BeitragVerfasst am: Mo 09.06.2008 08:43    Titel: Antworten mit Zitat

Hallo Karlheinz,

danke für Deine Hilfe. Klappt einwandfrei.

Gruß
Mathias
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    smartsuitefaq.martinholz.de Foren-Übersicht -> Approach-Scripte Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2002 phpBB Group
Protected by Anti-Spam ACP