AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Paradox 7 und TCursor
Thema durchsuchen
Ansicht
Themen-Optionen

Paradox 7 und TCursor

Ein Thema von Kuddel · begonnen am 11. Jun 2003 · letzter Beitrag vom 30. Jun 2003
Antwort Antwort
Seite 1 von 2  1 2      
Kuddel

Registriert seit: 10. Jun 2003
Ort: Dortmund
8 Beiträge
 
#1

Paradox 7 und TCursor

  Alt 11. Jun 2003, 04:05
Hallo Leute

Noch bin ich neu aber ich denke mal das ich auch schlauer werden kann.

Nun ich habe da ein Problem welches mich schon mindestens seit einem Jahr ärgert und quält. Ich habe Zwei Paradox Tabellen welche ich mittels Tcursor ansteuern will, aber ich bekomme das nicht hin das mein Tcursor auf den richtigen Datensatz springt. z.B. soll der Tcursor auf dem Datensatz springen welcher zwei Criterien erfüllt egal an welcher Position sich der Datensatz befindet.


tcVar.open("lager.db")
tcVar.locate("Lag.Nr", Lag_Nr.Value)("Auftr.Nr", Auftr_Nr.Value)

Ich bekomme es einfach nicht hin da der Tcursor immer nur nach der Lagernummer nicht aber nach Lagernummer und Auftragsnummer sucht.
Hat er die Lagernummer gefunden Plaziert er sich richtig, ansonsten nimmt er immer den ersten Datensatz in der Tabelle.

Was mache ich falsch ?

Kann mir jemand helfen wie ich diese oder eine andere locate Anweisung schreiben muß damit der Tcursor sich erst dann plaziert wenn beide Criterien erfüllt sind.

währe über eine hielfe sehr Dankbar da ich mit diesem Problem schon sehr lange am kämpfen bin.
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#2
  Alt 11. Jun 2003, 07:37
Hallo Kuddel,

zunächst einmal herzlich willkommen im Delphi-PRAXIS Forum.

Zu deinem Problem:
sehe ich das richtig, dass du mit ObjectPAL arbeitest und die Ansteuerung direkt in Paradox machen willst? Oder möchtest du gerne das Delphi-Gegenstück zu den ObjectPAL Anweisung?
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
Kuddel

Registriert seit: 10. Jun 2003
Ort: Dortmund
8 Beiträge
 
#3
  Alt 11. Jun 2003, 07:57
Hallo MrSpock

eigentlich ist es mir egal mit welchem teil ich es Hinbekomme.

Ich bin wie gesagt neu auf diesem Sektor und bin natürlich mit ObjectPal und direkt mit Paradox am Arbeiten.

Da ich für Delphi 6 welches ich besitze keinerlei Handbücher oder Vorlagen habe war ich weiter mit Paradox am Arbeiten.

Also wenns geht bitte mit Paradox und ObjectPal helfen.
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#4
  Alt 11. Jun 2003, 09:16
Hallo Kuddel,

bei Delphi 6 benötigst du mindestens die Professional Version, weil erst die Datenbankunterstützung bietet.

Dann nimmst du eine TTable Komponente, die mit der Tabelle Lager.db verbunden wird. Sind Lag_Nr und Auft_Nr der zusammengestzte Primärschlüssel, so positionierst du den aktuellen Datensatz mit:

Delphi-Quellcode:
  if tblLager.FindKey([lagNr, auftNr]) then
     { Datensatz existiert und ist ausgewählt }
  else
     { Datensatz existiert nicht };
oder, falls es kein Schlüsselfeld ist:

Delphi-Quellcode:
  if tblLager.Locate('Lag_Nr;Auftr_Nr', VarArrayOf([lagNr, auftrNr]), []) then
  { Datensatz existiert und ist ausgewählt }
   else
     { Datensatz existiert nicht. };
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
Kuddel

Registriert seit: 10. Jun 2003
Ort: Dortmund
8 Beiträge
 
#5
  Alt 11. Jun 2003, 23:12
Vielen Dank für diese Hilfe , aber leider ist es ein code den ich nicht nutzen kann , da ich nur eine Delphi version habe die ich von Borland runterladen konnte.

Da ich meine gesammte Datenbank in Paradox erstellt habe und mittels Formulare auf die einzelnen Tabelle zugreife bräuchte ich hilfe wie ich dem TCursor erklären kann das er nach Auftrags und Lagernummer suchen soll bevor er sich auf einen Datensatz bewegt, da ich mehrere gleiche Lagernummern habe jedoch verschiedene Auftragsnummern.

Bislang kann ich immer nur nach einem wert suchen das führt aber dazu das ich Material von einem falschem Auftrag buche da sich der Tcursor immer auf dem ersten Datensatz bewegt welcher die Auftrags oder Lagernummer hat nicht aber Auftrags- und Lagernummer.
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#6
  Alt 12. Jun 2003, 23:06
Hallo Kuddel,

also gut, dann machen wir das mal in ObjectPal :

Dein Code enthält hier einen Fehler in der Notation, es muss heißen:

Delphi-Quellcode:
tcVar.open("lager.db")
tcVar.locate("Lag.Nr", Lag_Nr.Value, "Auftr.Nr", Auftr_Nr.Value)
unter der Annahme, dass deine Felder in der Tabelle tatsächlich Lag.Nr und Auftr.Nr heißen. Enthalten die Feldnamen wirklich einen Punkt?

Was für einen Typ haben Lag_Nr und Auftr_Nr?
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
Kuddel

Registriert seit: 10. Jun 2003
Ort: Dortmund
8 Beiträge
 
#7
  Alt 12. Jun 2003, 23:44
Hallo MrSpock

Auftr.Nr und Lag.Nr sind beides Typen der Kategorie Number und auch die Feldnamen enthalten wirklich den Punkt.

Das war das erste was ich versucht habe um nach diesen beiden Nummern zu suchen , jedoch habe ich es wie gesagt nicht geschaft beide Nummern zu suchen.

Wie vorher gesagt kann ich über ein Formular Rücklieferung Material dem Lager gut schreiben da ich nur die Lag.Nr brauche. Da es sich aber um unsere eigenen Baustellen handelt wo das Material hingeht wollte ich das Material auch aus der Ausgangs DB. rausschreiben. Folglich habe ich eine Auftragsnummer eingebunden welche mir ermöglichen soll auf die einzelnen Auslieferungen zurück zu greifen.

sprich Ich versuche so für mich als Disponent eine möglichkeit zu erstellen um mit dem Programm welches mir in der Firma wie Privat zu verfügung steht den Ablauf zu erleichtern un besser nach halten zu können welches Material wo rausgegangen ist und welches wann von welcher Baustelle zurück gekommen ist. Folglich kann ich auch nachvollziehen welches Material noch auf welcher Baustelle befinden muß.
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#8
  Alt 13. Jun 2003, 08:06
Hallo Kuddel,

wenn du sagst, der Code, den ich oben gepostet habe, funktioniert nicht, werde ich mir das am Wochenende noch einmal genauer anschauen.
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
Kuddel

Registriert seit: 10. Jun 2003
Ort: Dortmund
8 Beiträge
 
#9
  Alt 13. Jun 2003, 11:13
Hallo MrSpock

Ich glaube ich habe versucht das Pferd von hinten aufzu zäumen , also hier in kürze was ich eigentlich will.

Ich habe mehrere Tabellen darunter Lager , Ausgang und Rücklieferung

also was ich im Ausgang schreibe wird aus dem Lager abgezogen soweit richtig schlüssel ist hier die Lager nummer.

Was ich in der Rücklieferung schreibe sollte aus dem Ausgang abgezogen werden (" solte über Auftragsnummer und Lagernummer ") gefunden werden und gleichzeitig dem Lager über der Lagernummer wieder gut geschrieben werden also als "Eingang" funktioniert nicht.
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#10
  Alt 14. Jun 2003, 21:43
Hallo Kuddel,

ich hab das jetzt noch einmal ausprobiert. Dazu habe ich eine Tabelle "lager.db" erstellt, die beide Felder, nach denen du suchen willst enthält, plus ein paar Zusatzfelder.

Dann habe ich ein Formular erstellt, mit 2 Editfeldern (für die Suchwerte) und einem Schalter "Suchen". Der pushButton Methode habe ich folgenden Code zugewiesen:

Delphi-Quellcode:
method pushButton(var eventInfo Event)
 var
  tc Tcursor
  tv TableView
endvar
  tv.open("lager.db")
  tc.attach(tv)
  if tc.locate("Lag.Nr", SuchLager.Value, "Anzahl", SuchAuftrag.Value) then
    tv.moveToRecord(tc)
  else
    msgInfo("Fehler", "Nicht gefunden")
  endif
endMethod
Tja, was soll ich sagen!? Funktioniert einwandfrei, auch mit anderen Feldern im Locate.

Welchen Typ haben deine Felder? (sind die beiden Suchfelder Integer Felder?)
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:28 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz