Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
760to764
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
760to764
760to764
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Datenbank

Datenbank
03.05.2006 22:07:58
Thanh
Hallo Miteinander,
habe wieder einmal ein Problem das ich Lösen muss. Also Ich habe Ein Userform mit "Name" "Vorname" Adresse" "PLZ" "Ort" "Telefonnummer" gemacht jetzt möchte ich die Daten die ich Eingebe auf die Arbeitsmappe übertragen wird das habe ich soweit raus ich habe folgender Code eingegeben:

Private Sub Obj1_Change()
Range("A7").Value = Obj1.Text
End Sub


Private Sub Reduziert1_Change()
Range("C21").Value = Reduziert1.Text
End Sub


Private Sub Regulär1_Change()
Range("C15").Value = Regulär1.Text
End Sub


Private Sub Regulär3_Change()
Range("C44").Value = Regulär3.Text
End Sub


Private Sub Regulär4_Change()
Range("H44").Value = Regulär4.Text
End Sub

soweit sogut nun kann mir jemand sagen wie ich das Anstellen muss das wenn ich einen Datensatz eingebe die Alten Daten nicht gelöscht werden Sonder auf der nächtfreien Zelle übertragen wird?
Für Eure unterstützung vielen Dank im Vorraus.
Gruss
Thanh

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datenbank
03.05.2006 22:29:44
Uduuh
Hallo,
das sieht aber ganz schön wirr aus. Eine Datenbank sollte etwa so organisiert sein:


Mit deiner Struktur wirst du auf Dauer garantiert nicht glücklich.
Gruß aus’m Pott
Udo

AW: Datenbank
03.05.2006 22:36:24
Jürgen
Hallo Thanh,
wie Uduuh schon sagt, ist deine Struktur nicht besonders geeignet für eine Datenbank. Es sollte schon alles in einer Zeile stehen. Wenn du die Zellen direkt ansprichst mit range("xx").value, dann kannst du auch nur in dieser Zelle Eintäge vornehmen. Du musst schon mit Variablen arbeiten. Anbei mal ein Beispiel, mit dem aus einer Userform auf Knopfdruck aus einigen Textfelder Daten in eine Tabelle geschrieben werden.

Private Sub cmdEinfügen_Click()
Dim inty As Integer
With ThisWorkbook.Worksheets("Tabelle1")
inty = 2
Do Until .Cells(inty, 1) = ""
inty = inty + 1
Loop
.Cells(inty, 1) = txtID
.Cells(inty, 2) = txtNachname
.Cells(inty, 3) = txtVorname
.Cells(inty, 4) = txtGeschlecht
.Cells(inty, 5) = txtAlter
End With
End Sub

Soetwas in der Art müsstest du dir auch basteln. Ich hoffe, ich konnte ein bisschen helfen.
Gruß Jürgen
Anzeige
AW: Datenbank
03.05.2006 22:48:08
Uduuh
Hallo,
das ist nicht so gut:
Do Until .Cells(inty, 1) = ""
inty = inty + 1
Loop
inty=cells(65536,1).end(xlup).row+1
ist viel schneller
Gruß aus’m Pott
Udo

AW: Datenbank
03.05.2006 22:57:39
Thanh
Hallo,
Vielen dank für die rasche Antwort. Leider bin ich ein totaler Anfäner was die Codes Betrifft.
Bei mir Sieht es Folgendermasen aus:
Private Declare Function FindWindow Lib "user32" Alias _
"FindWindowA" (ByVal lpClassName As String, ByVal _
lpWindowName As String) As Long
Private Declare Function EnableWindow Lib "user32" (ByVal _
hwnd As Long, ByVal fEnable As Long) As Long

Private Sub Adresse_Change()
End Sub


Private Sub CommandButton2_Click()
End Sub


Private Sub Name_Change()
End Sub


Private Sub Ort_Change()
End Sub


Private Sub PLZ_Change()
End Sub


Private Sub TelG_Change()
End Sub


Private Sub TelP_Change()
End Sub


Private Sub UserForm_Click()
End Sub


Private Sub UserForm_Activate()
Me.Caption = "Userform1"
EnableWindow FindWindow("XLMAIN", vbNullString), True
End Sub


Private Sub cmdBeenden_Click()
Unload Me
End
End Sub


Private Sub Vorname_Change()
End Sub

und Wo soll ich den Code einfügen so das es Funktioniert?
Anzeige
AW: Datenbank
03.05.2006 23:07:46
Uduuh
Hallo,
warum benutzt du nicht einfach die Datenmaske?
siehe Daten-Maske
Gruß aus’m Pott
Udo

AW: Datenbank
03.05.2006 23:16:31
Thanh
Hallo Udo,
Der Grund dafür ist weil ich die Adress Datenbank auf einer anderen Arbeitblatt habe.
Du muss Dir das so Vorstellen ich habe eine Arbeitsmappe die beinhaltet Reservationen, Bestellungen, Artikel und Adressen und ich möchte nicht jedesmal auf die adress Register zurück greifen müssen um eine Neue Adresse eingeben zu müssen. Ich möchte von der Reservation oder bestellung aus eine Neue Adresse generieren können.
Wäre froh wenn Du mir noch tipps genben könntest.
Gruss und Danke
Thanh
Anzeige
AW: Datenbank
03.05.2006 23:42:23
Thanh
Hallo,
Habe Dein Beispiel mal angeschaut und ausprobiert jetzt kommt bei mir der Fehler:
"Fehler beim Kompilieren:
Funktion oder Schnittstelle kann nur eingeschänkt verwendet werden oder verwendet einen Typ der Automatisierung der von VB nicht unterstüzt wird.
Wo ist hier der Fehler
der Code den ich eingegeben Habe:

Private Sub CommandButton2_Click()
With Sheets("Adressen").Cells(65536, 1).End(xlUp)
.Offset(1, 0) = Name
.Offset(1, 1) = Vorname
.Offset(1, 2) = Adresse
.Offset(1, 3) = PLZ
.Offset(1, 4) = Ort
.Offset(1, 5) = TelG
.Offset(1, 6) = TelP
.Offset(1, 7) = Natel
.Offset(1, 8) = Fax
End With
Name = ""
Vorname = ""
Adresse = ""
PLZ = ""
Ort = ""
TelG = ""
TelP = ""
Natel = ""
Fax = ""
Name.SetFocus
End Sub

gruss
Thanh
Anzeige
AW: Datenbank
04.05.2006 00:18:59
Thanh
Hallo Udo
hat bestens geklappt hab den Fehler gefunden.
Vielen Dank für Deine Hilfe.
Gruss
Thanh

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige