
Meenzer
Mitglieder-
Gesamte Inhalte
355 -
Benutzer seit
-
Letzter Besuch
Inhaltstyp
Profile
Forum
Downloads
Kalender
Blogs
Shop
Alle Inhalte von Meenzer
-
Hi! Andesderum gehts: a[0] = rs!Name a[1] = rs!Vorname a[2] = rs!Anrede Allerdings würde ich das Array so definieren: Dim a(10) as String Die 10 steht in dem Fall für die Anzahl der Felder im Array. Der Typ des Arrays ist dann ein String. Gruss
-
Den Teil kannst Du weglassen, da schreibe ich die Werte des Recordsets nur in Variablen. Und die Pfadangabe kannst Du auch einfach direkt zuweisen. zB. strPath = "C:\Test\Test.doc" das hatte ich vorhin vergessen zu sagen. Gruss
-
Hi! Ich habe hier ein Beispiel, wo ich Daten aus Access in ein Worddoc schreibe. Veilleicht hilft es Dir. ------------------------------------------------------------------------------- Dim WordObj As Object Dim rs1 As Recordset Dim SQL as String Dim DOC As String Dim bolWord As Boolean Dim strPath As String SQL = "SELECT DEINE DATEN" 'Recordset öffnen Set rs1 = CurrentDb.OpenRecordset(SQL, dbOpenForwardOnly) 'Pfad der Datei ermitteln strPath = DLookup("ProgPath", "z_Settings", "[iD] = 1") 'Word öffnen Set WordObj = GetObject(, "Word.Application") If Err.Number <> 0 Then Err.Clear Set WordObj = CreateObject("Word.Application") bolWord = True Else WordObj.Activate bolWord = False End If If IsNull(rs1![WSDAT]) Then AGDAT = Format(Now, "Short Date") Else AGDAT = rs1![WSDAT] AUFTP = rs1![AUFTP] KENNZ = rs1![KENNZ] FZART = rs1![FZART] SCHAD = fktZeichenWechsel(rs1![sACHS], Chr(10), "", "N", True) NOTIZ = fktZeichenWechsel(rs1![MATERIAL], Chr(10), "", "N", True) FKENN = fktZeichenWechsel(KENNZ, " ", "_", "N", True) 'Dokument öffnen ( Vorlage ) WordObj.Documents.Open FileName:=strPath & "\SYS\Datei.doc" WordObj.Visible = True With WordObj.ActiveDocument .Formfields("FELD1").Result = rs1!Feld1 .Formfields("FELD2").Result = rs1!Feld2 .Formfields("FELD3").Result = rs1!Feld3 .Formfields("FELD4").Result = rs1!Feld4 .Formfields("FELD5").Result = rs1!Feld5 .Formfields("FELD6").Result = rs1!Feld6 .Formfields("FELD7").Result = rs1!Feld7 End With 'speichern WordObj.ActiveDocument.SaveAs FileName:=strPath & "Datei.doc" WordObj.ActiveDocument.Save WordObj.ActiveDocument.Close If bolWord Then WordObj.Application.Quit Set WordObj = Nothing rs1.Close Set rs1 = Nothing ------------------------------------------------------------------------ Das gilt leider nur für einen DS. bei einem Serienbrief müsstes Du eine Schleife durchlaufen und immer ein neues Dokument öffnen. Ich ho ffe es Hilft Dir weiter. Gruss
-
Hi! Am besten, Du machst Dir einen neuen Button und beim Ereignis 'klicken' fügst Du den Code ein. Natürlich solltest Du die Feldnamen in dem Dlookup- Befehl anpassen und Deine reinschreiben. Und was für eine Fehlermeldung bekommst Du denn?? Gruss
-
Hi! Schau doch mal bei dem Dlookup-Befehl nach. Damit kann man in einer Tabelle nachschauen, ob ein Wert vorhanden ist oder nicht. Gruss
-
Hi! Öffne einfach ein Recordset : -------------------------------------------------- Dim rs as DOA.Recordset set rs = currentdb.openrecordset("DeinSQL",dbopenforwardonly) if rs.recordcount >0 then DeinFeld = rs!AnzName end if rs.close set rs = nothing -------------------------------------------------- Gruss
-
Hi! Wie erzeust Du denn die ID?? Und die Daten hast Du doch bestimmt in einer Tabelle hinterlegt, oder?? Wenn die ID in der Tabelle ein Autowert ist, dann brauchst Du keine Prüfung, ansonsten würde ich Dir den DLookup - Befehl empfehlen. So könnte das dann ungefähr aussehen: ------------------------------------------------------ TMP = Dlookup("ID","TABELLE","[TAG] = " & Formular!feldTag & " AND [sTUNDE] = " & Formular!feldStunde ) if isnull(TMP) 'kein Eintrag vorhanden else 'Fehlermeldung end if ------------------------------------------------------ Gruss
-
Hi! Also ich habe mir mal folgendes überlegt: ----------------------------------------------------------------------------------- Dim lngNr as long Dim lngrs as long Dim rs as recordset lngNr = 1 set rs = currentdb.openrecordset("SELECT ID FROM TAB ORDER BY ID",dbopenforwardonly) do until rs.eof lngrs = lng(right(rs!ID,7)) if lngrs <> lngNr then 'Lücke im Autowert endif lngNr = lngNr +1 rs.movenext loop rs.close set rs = nothing ---------------------------------------------------------------------------------- Du öffnest ein Recordset und lässt es durchlaufen. Mit dem Befehl lng(right(rs!id,7)) holst Du Dir den numerischen Teil aus der ID und durch die Konvertierung in einen LONG fallen die Nullen weg. Dann vergleichst Du die Zahl mit einer laufenden Nummer, die bei 1 beginnt. Diese Nummer kannst Du dann einfach hochzählen. Wenn die Zahlen dann ungleich sind, hast Du eine Lücke in Deinem Autowert. Was Du bei einer Lücke machen willst , musst Du dann noch einfügen. Ich hoffe es klappt so. Gruss
-
Hi! Du erstellst Dir eine Abfrage und ziehst Dir das Feld mit der Kunden 2mal in die Abfrage rein. (zB, KundenID ) Dann schaltest Du die Funktionen an und stellst beim ersten die Funktion "Anzahl" und beim zweiten Feld die Funktion "Bedingung" ein. Bei dem zweiten Feld gibst Du dann Deinen Kunden als Kriterium ein, den Du haben willst. Dann müsste er Dir die Anzahl der DS des Kunden zurückliefern. Übrigens ist das der SQL-Befehl Count(Feldname) falls Du es in einem SQL Statement benötigst. Gruss
-
Hi! Wenn Du die Eigenschaft "PopUp" auf "Ja" stellst, dann müsste das Formular im Vordergrund stehen. Gruss
-
Hi! Du machst Dir einfach eine neue Abfrage und ziehst die beiden Felder rein. Dann schaltest Du die Funktionen ein ( Summenzeichen in der Symbolleiste ). Bei Spalte A stellst Du "Gruppierung" ein und bei Spalte B "Summe" und schon hast Du Dein Ergebnis. Voraussetzung ist aber, das Spalte B eine Zahl ist. Zum Schluß kannst Du eine Tabellenerstellungsabfrage draus machen und schon hast Du das gewünschte Ergbnis. Gruss
-
Access: Listenfeld per Mausklick mit neuen Daten Aktualisieren
Meenzer antwortete auf Isch2k's Thema in Datenbanken
Hi! Für das Listfeld gibt es verschiedene Ereignisse, zB. 'beim DoppelKlicken'. Bei diesem Ereignis sagst Du dann ein fach: ---------------------------------------------------------------------- Private Sub DeineListe_DblClick Dim SQL as String SQL = "SELECT [Liste17], [neueabfrage].[Category], [neueabfrage].[DateOpened] FROM [neueabfrage] WHERE KUNDEID = " & Me.DeineListe.Column(Spalte) Me.DeineListe.RowSource = SQL End Sub ---------------------------------------------------------------------- Ich gehe mal davon aus, dass jeder Kunde eine eindeutige Nummer hat. Ich habe diese mal KUNDEID genannt. Spalte ist die Spalte in Deinem Listfeld, wo diese eindeutige Nummer des Kunde drinsteht. Gruss -
Hi! Mit "SELECT TOP 5 FROM TABLE " bekommst Du die ersten 5 Datensätze. ( SQL in Access 97 ) Gruss
-
Hi! Da ich ja auch nur bestimmte Daten aus der Tabelle brauche und eine Abfrage vorher machen muss, kann ich mit dem Access-Export auch nicht viel machen. Und das Komma als Trennzeichen ist ein MUSS. Aber ich habe es mal mit einer Textdatei ausprobiert. Ich öffne einfach ein Recordset und füge die Felder hintereinander mit Komma getrennt in eine Textdatei an. Wenn ich die dann unter .csv speichere, dann habe ich es in dem Format wie ich es will. Ist zwar mehr Aufwand aber es funktioniert. Trotzdem danke für Deine Tips. Gruss
-
Die Datei soll im CSV - Format geliefert werden, das ist meine Vorgabe. Was die damit machen , weiss ich nicht. Ich muss sie nur erstellen. Wenn ich die Excel Datei im CSV - Format speichere , dann werden zum Beispiel die Zeilen abgeschnitten und nach unten geschoben. Auf jeden Fall stimmts dann nicht mehr. Und wie funktioniert das mit der Tabellenformatierung?? Gruss
-
Hallo! Ich möchte Daten aus einer Tabelle in eine Textdatei ( CSV-Format, also Felder durch Komma getrennt ) exportieren. ( Access 97 ) Dabei sind die ersten 2 Zeilen der Kopf der Datei mit jeweils 7 Felder ( 1. Zeile Überschrift, 2. Zeile Daten ). Die 3. Zeile ist die Überschrift für die eigentlichen Daten ( ca 75 Felder), die dann ab der 4. Zeile angefügt werden sollen. Ich habe die Daten mal in eine Exceldatei exportiert und dann die Datei unter .csv gespeichert. Jedoch wurden dadurch die Felder und Daten etwas durcheinander geschmissen. Hat jemand sowas schon mal gemacht? Bin für jeden Hilfe dankbar. Gruss
-
Oh, das hatte ich überlesen. Aber mit der Right-Funktion kann man das Ergebnis ja dann auf 3 Stellen formatieren. Danke! Gruss
-
Hi! Du kannst Dir zB. eine Abfrage machen und Dein neues Feld ,in dem die Zahl als Text stehen soll, so formatieren: TEXTFELD: "0" & [ZAHLFELD] Mit dem Ergebis kannst Du dann Deine Spalte aktualisieren. Gruss
-
Hi! Was für eine DB hast Du denn??? Access, Oracle, SQL.....?? Gruss
-
Hi! Im Wesentlichen geht es um Begriffe wie Use Case Diagramm, UML -Modell, Klassen, Attribute, Methoden, Vererbung, Polymorphismus, Datenkapselung. Du musst Dir jetzt nur noch die passenden Erklärungen und Beschreibungen dazu einholen. Gruss
-
Soweit ich weiss, JA, Du brauchst dann immer noch Access
-
Hi! Du kannst zwar keine EXE-Datei aus einer Datenbank machen, aber Du kannst eine .MDE Datei erstellen. Das heisst, dass dan keiner ( auch Du nicht ) den ProgrammCode lesen kannst, oder was ändern kannst. Unter Extras --> Datenbank-Dienstprogramme -> MDE- erstellen TIP: Kopier Dir die Datenbank vorher!! Gruss
-
Hi! Eigentlich ist es ganz einfach die Daten von Access nach Oracle zu exportieren. Als erstes musst Du natürlich die Tabellen in Oracle erstellen. Dann bindest Du diese über ODBC nach Access ein und per Anfügeabfrage füllst Du dann die Oracle - Tabellen. Auf diesem Wege habe ich es gemacht. Vielleicht gibt es aber auch noch andere, bessere Lösungen. Gruss
-
Hi! Primärschlüssel: ( PK ) Ein PK identifiziert einen Datensatz in einer Tabelle eindeutig. Fremdschlüssel: ( FK ) Durch Beziehunge zwischen Tabellen ( 1:n ) wandert der PK der (1) Tabelle in die (n) Tabelle. Dadruch wird die Beziehung zwischen den Tabellen definiert. Der PK wird in der anderen Tabelle zum FK. Gruss
-
Hi! Zu dem Beziehungen kann man noch ein Stichwort ansprechen und zwar die Refentielle Integrität. Das heisst anhand der Beziehungen zwischen den Tabellen kann man das Einfügen, Löschen und Ändern der Datensätze kontrollieren. Ist zum Beispiel ein Datensatz von einem anderen DS in einer anderen Tabelle abhängig, kann man ih nicht ohne weiteres löschen. Beispiel. 1 Tabelle ( Strasse, Name , PLZ ) 2 Tabelle ( PLZ , Ort, Land ) Die beiden Tabellen haben eine Beziehung so dass Du Dir über die PLZ in Tabelle 1 , den Ort und das Land in Tabelle 2 holen kannst. Angenommen die PLZ ist 55130. Willst Du jetzt den Datensatz in Tabelle 2 mit der PLZ 55130 löschen, würde das nicht gehen, weil er noch in der Tabelle 1 vorhanden ist. Gruss