Abfrage

thomson

Erfahrenes Mitglied
Hallo, habe eine Eingabemaske. jedoch wird je nach Art also Neu anlegen oder Editieren der Inhalt verändert. Sprich wenn ich neu sage ist die Maske leer, wenn ich auf ändern klicke werden die Daten zum ändern angezeigt. nun folgendes Problem: Da es die gleiche Maske ist haben sie auch den gleichen SAVE Button. Ich muss jetzt unterscheiden mit welcher Methode ich die Maske fülle. Mit ändern oder mit neu, damit beim speichern nichts schief geht!
Die Methoden zum füllen der Maske heissen mKundeanlegen und mKunde editieren. Die Maske ist wie fogt
Code:
If  die DATEN kommen von mKundeanlegen Then
  ' User anlegen
     oRS.Open "SELECT * FROM Users WHERE ID=-1", oConn
     oRS.AddNew
     oRS!Password = Password
     oRS!ID = SWFed1
     oRS!Full_Name = SWFed6
     oRS!Email = SWFed4
     oRS!Username = SWFed5
     oRS!Date_Added = SWFed3
     oRS.Update
     oRS.Close
    Else
     oRS.Open "SELECT * FROM Users WHERE ID=-1", oConn
     oRS.AddNew
     oRS!ID = SWFed1
     oRS!Full_Name = SWFed6
     oRS!Email = SWFed4
     oRS!Username = SWFed5
     oRS!Date_Added = SWFed3
     oRS.Update
     oRS.Close
    End If

Muss das irgendwie verwirklichen, das er das unterscheidet sorry kompliziert erklärt!
 
Wenn ich Dich richtig verstanden habe, hast Du eine Maske mit einigen Datenfeldern und einem save-button. Beim Klick auf diesen Button soll entweder ein bestehender Datensatz geändert oder ein neuer Datensatz angelegt werden, je nach dem, ob ich über ANLEGEN oder ÄNDERN auf die Maske komme, richtig?

Dann lege Dir doch einfach eine Prüfvariable an. Zum Beispiel vom Typ Boolean - klickst Du nun also ANLEGEN, erhält sie den Wert '0' und bei ÄNDERN eben '1'. Und dann fragst Du diese Variable ab. Also wenn '0' dann mKundenanlege sonst mKunde_editieren.
 
Tja, also dazu müsste ich Deine Programmstruktur kennen. Aber ich denke mal, dass besagte Maske ein eigenes Formular ist. Dann in diesem Formular im allgemeinen Teil eine öffentliche Variable deklarieren.
Zum Beispiel:
Code:
Public x as Boolean
Beim Laden dieser Form kannst Du dann den Wert enstsprechend setzten:
Code:
Load Form_ABC
Form_ABC.x = True 'oder eben False - je nach dem

Also so, oder so ähnlich würde ich das Problem angehen. Vielleicht nicht die eleganteste Lösung, aber funktional.
 
überall "zugängliche" Variable anlegen:
Code:
Option Explicit
Dim Variable As Variablentyp
'Beispiel:
Dim Hallo As Integer
Du kannst das aber auch einfach in die Eigenschaft "Tag" deiner Form speichern. "Tag" ist eine Variable, die dafür erschaffen wurde, beliebige Sachen (vom Typ String) zu speichern:
Code:
MeineForm.Tag=1
 
:0)

Denke das hab ich Jetzt hab ich nur noch ein Problem, wenn ich einen neuen ANLEGE soll er mir natürlich das Passwort speichern. Beim editieren soll es aber so bleiben wie es ist!
Das nicht ist immer leer wenn ich es so mache !
Code:
  If bBoolean = 1 Then
  ' User anlegen
     oRS.Open "SELECT * FROM Users WHERE ID=-1", oConn
     oRS.AddNew
     oRS!Password = Password
     oRS!ID = SWFed1
     oRS!Full_Name = SWFed6
     oRS!Email = SWFed4
     oRS!Username = SWFed5
     oRS!Date_Added = SWFed3
     oRS.Update
     oRS.Close
    Else
     oRS.Open "SELECT * FROM Users WHERE ID=-1", oConn
     oRS.AddNew
     oRS!ID = SWFed1
     oRS!Full_Name = SWFed6
     oRS!Email = SWFed4
     oRS!Username = SWFed5
     oRS!Date_Added = SWFed3
     oRS.Update
     oRS.Close
    End If
 
Zurück