vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Erstellen von dynamischen Kontextmen?s - wann immer Sie sie brauchen!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Fragen & Antworten rund um sev-Komponenten
SevDataGrid 3.0 
Autor: Struppi
Datum: 14.12.15 19:12

Ich betreibe SevDataGrid 3.0 im Recordset Modus mit etlichen Spalten.
Eine Spalte beinhaltet Zahlen als Text. Wie kann ich diese Zahlen numerisch sortieren.
Inhalt z.B. 110001101 sowie 2345 usw.
Ich kann des Daten-Tabellen-Feld nicht numerisch erstellen da andere Kunden in diesem Feld
tatsächlich Text (z.B. b/3 ) eingeben.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: SevDataGrid 3.0 
Autor: ModeratorDieter (Moderator)
Datum: 14.12.15 19:22

Das geht nur, wenn du die Daten als "numerische" Werte im SQL-Statement selektierst oder aber das Grid im ListMode verwendest.

_________________________
Professionelle Entwicklerkomponenten
www.tools4vb.de

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: SevDataGrid 3.0 
Autor: Franki
Datum: 15.12.15 08:50

Hallo,

Zitat:


Eine Spalte beinhaltet Zahlen als Text. Wie kann ich diese
Zahlen numerisch sortieren.


Du mußt den Text zuerst in Zahlen umwandeln und dann sortieren.

Zitat:


Ich kann des Daten-Tabellen-Feld nicht numerisch erstellen da
andere Kunden in diesem Feld
tatsächlich Text (z.B. b/3 ) eingeben.


Dann hat du eine Designfehler in deiner DB bzw. der Datenerfassung für die User. Wenn du mathematische Auswertungen machen möchtest, dann mußt du unterbinden, dass die User da ungültige Werte eingeben können. Wenn du solch ein Feld hst wo das geht und es trotzdem auswerten möchtest, du mußt du Satz für Satz prüfen, ob das Feld numerisch ist, oder halt per SQL direkt abfragen so dass nur richtige Werte im Recordset landen.

Aber das ist unnötiger Aufwand, so etwas sollte man nicht machen. Die Eingabe für den User sollte schon klar sein was er da eingeben muss bzw. kann. b/3 ist ja keine Zahl, also sollte so etwas auch gar nicht erst einzugeben sein für den User.

Gruß
Frank
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: SevDataGrid 3.0 
Autor: Struppi
Datum: 15.12.15 10:11

Hallo Dieter, vielen Dank für die schnelle Antwort. Ich werde mal sehen
wie ich das mit List-Mode hin bekomme.

Hallo Frank,
danke für die Info. Ich kalkuliere nicht mit den Daten sonder es sind
lediglich Walzennummern. Die eine Firma nummeriert Ihre Walzen alphanumerisch,
die Andere Alphabetisch. Die Firm, die ihre Walzen alphanumerisch nummeriert
hat möchte das Sorting natürlich in der korrekten Reihenfolge.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: SevDataGrid 3.0 
Autor: Franki
Datum: 16.12.15 07:53

Hallo,

ok, verstehe warum das dann ein Textfeld sein muss.

Aber deine Ausgangsfrage war ja wie du diese Texte dennoch numerisch sortieren kannst. Mit dem ListMode funktioniert das insofern wenn die entsprechenden Daten sich auch tatsächlich als Zahlen darstellen lassen. (SortNumeric ist dann das Stichwort)

Allerdings dürfen dann da keine Querschläger drin sein.

In solchen Fällen biete ich den Kunden über eine Einstellungsmöglichkeit an sich zu entscheiden wie sortiert werden soll. Wenn er diese Entscheidung einmal getroffen hat muss er sich auch daran halten, wenn er numerisch sortiert haben möchte darf bzw. kann er auch nur entsprechende Eingaben machen.

Wie würdest du z.B. folgende Daten sinnvoll sortieren wenn im DB-Textfeld folgendes steht?

44-12
45-12
01-13
44-13
01-14

Dabei bedeutet der erste Teil vor dem - eine Kalenderwoche, der Teil hinter dem - das Jahr. So was kannst du weder numerisch noch alphabetisch vernünftig sortieren. Im ListMode kannst du aber vor dem Eintrag mit den Daten machen was du möchtest bevor du ihn in das Grid schreibst. In diesem Fall teile ich das auf und verwende eine unsichtbare Spalte dich ich selbst mit Werten fülle (Reihenfolge) und nach der wird dann letztendlich sortiert obwohl der User sie gar nicht sieht hat er das richtige Ergebnis.

Gruß
Frank
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: SevDataGrid 3.0 
Autor: Struppi
Datum: 16.12.15 08:46

Danke für die Info Frank.
Ich werde es mit dem List-Mode versuchen. Hatte bis jetzt Recordset eingestellt damit direkt in der Tabelle
Änderungen am Datensatz durchgeführt werden können. Im Feld "Walzennummer" stehen bei einem Kunden nur Zahlenwerte
aber verschiedener Länge (z.B. 100011101 sowie 2345 oder 22134) bei einem anderen Kunden Texte wie z.b. "b/2".
Auch im Recordset-Modus gibt es Sort_Numeric aber das funktioniert nicht so wie es sein sollte.
Gruß
Dirk
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel