Zum Inhalt springen

PromiseYou

Mitglieder
  • Gesamte Inhalte

    46
  • Benutzer seit

  • Letzter Besuch

Alle Inhalte von PromiseYou

  1. ne sorry ... aber das ist mir alles was zu schwammig :/ in dem was ich bekomme hab steht drin, das form soll auftauchen wenn in B9 nix drin ist .. dafür habe ich eine lauffähige version geschickt (also den grundcode) und ich möchte wetten, dass ich dein problem gelöst bekomme, aber mit diesen angaben ist es nicht möglich und wie in einem beitrag schon vorher gesagt, ich glaube schon dass du programmieren kannst, jedoch hast du scheinbar noch nicht viel mit VB bzw VBA gearbeitet. sämtliche anpassungen an ein einem formular können nur zur laufzeit des formulars durchgeführt werden man kann jedoch ein formular zur laufzeit als object erstellen, und dieses dann zur laufzeit erst gestalten (also auch label, schalter und boxen hinzufügen), hierzu empfehle ich dir jedoch entsprechende dokumentionen und hier war nicht viel zu schreiben ... im open hab ich lediglich ' für REM gesetzt, und das geremte habe ich in das initialize verschoben und leicht angepasst ... also wenig wirklich neu zu schreiben lediglich "Tabelle1" habe ich statt des orignaltabellenblatts genommen.
  2. also nochmal im workbook_open wird das Formular in den Speicher geladen und die ablaufsteuerung an dieses übergeben PUNKT hier wird nix gefüllt entschieden oder sonst was ... sondern nur der aufruf ! nun sind wir beim Formular das beginnt mit dem initialize (da sind wir uns ja auch einig) also lege ich dann doch hier fest, ob das formular gezeigt wird - wenn es gezeigt wird, welche schalter müssen sichtbar sein - welche textboxen müssen wie vorgefüllt werden - .... - .... und die voraussetzungen wie das formular reagieren soll schaffe ich ebenfalls hier. so kann ich nun hier sagen: schau in zelle b9, steht da was, dann übertrage die tabelle hier ins form steht da nix, dann belege alles mit default aber wenn ich das hier grad alles so lese, denke ich eher, du hast nen allgemeines problem mit dem verständnis bei der programmierung und VBA. in VBA (VB) nimmt man teils andere wege, als man es in zB in C++ lösen würde
  3. Wie ich mir schon gedacht habe ... alles halb so wild es läuft wie folgt: Private Sub Workbook_Open() '##################################### '##################################### '### If the cell B9 is not filled, ### '### the UserForm1 will be shown. ### '##################################### '##################################### UserForm1.Show 'If Sheets("Tabell1").Cells(9, 2) = "" Then ' UserForm1.Show ' Else ' End 'End If End Sub und in Private Sub UserForm_initialize() If Sheets("Tabelle1").Cells(9, 2) = "" Then UserForm1.Show Else Unload UserForm1 End If '########################## '########################## '### Filling the fields ### '########################## '########################## nach diesen Änderungen ging es bei mir sofort, und es ist genau wie ich beschrieben habe. im Woorkbook_open NUR das show ohne Bedingungen erst dann im Form weiter abfragen ... mit dem unload kannst dann auch wieder das Form beenden (cmdEnd)
  4. das ist vollkommen klar, dass du im workbook_open noch nicht auf das form zugreifen kannst ... denn es ist ja noch nicht da .. erst nach dem .show wird das Form in den Speicher geladen. Ab hier geht der Focus dann auf das INITIALIZE ... hier werden nun alle Textfelder, Listboxen etc. vorbelegt nach End SUB wartet Windows (Excel) auf eine Interaktion des Users (Forms) Sollte das Füllen des Forms zeitmäßig sehr Lange dauern rate ich dazu, nach der Variabelendef in der INITIALZE das Form auf invisible zu setzen ... alles füllen, und dann wieder auf visible zurück .. dann geht das füllen bestimmter Steuerelemente auch zügiger, als wenn sie auf dem Form (oder das Form selber) sichtbar ist. also in der WorkBook_open() NUR Form1.show sonst nix ALLES andere was im Form gemacht werden soll über das INITIALIZE() ansonsten kann ich auch nur sagen, dann hätte ich gern mal die Datei
  5. was willst du denn in dem Form ansteuern ? Das würde ich in der "UserForm_Initialize()" des Forms machen. Also Einstellellungen für Bezeichner oder sonstiges was man sich aus einer INI oder aus der REG holt. Auch Verbindungen zu Datenbanken oder so öffne ich erst in dieser SUB. Bei mir steht immer nur das Form.show im WorkBook_Open() Dann schalte ich beim Initialize das visible von Excel auf false. Man kann ja auch im "Private Sub UserForm_Initialize()" form1.visible = false als erstes setzen dann wird das Form erst garnicht sichtbar
  6. Also da gibt es schon was, wie man beim start einer Arbeitsmappe ein Form öffnet. Private Sub Workbook_Open() UserForm1.Show [modal/unmodal] End Sub Hier wird beim Öffnen das Form1 aufgerufen, und die Ablaufsteuerung wird an die SUB main() übertragen sofern vorhanden, ansonsten wartet Windows auf Dialogstuerung aus dem Formular.
  7. hmmmm... versuch doch mal das show im zusammenhang mit modal bzw. unmodal kann mir zwar nicht erklären warum es ohne nicht gehen sollte, aber vllt. hilft es ja dennoch ..
  8. Hier ist wohl die Überschrift was falsch :/ So wie ich das lese, hast du hier weniger ein Problem mit dem Objekt, als vielmehr mit den Stringfunktionen. Ich hab dir mal den "Hilfetext" hier hin kopiert, der ist eigentlich selbsterklärend somit sind chr() und chr$() (mehr oder weniger) identisch, und das mit der Hexadezimalregelung findet (fast) überall anwendung.
  9. Hallo zusammen Ich verzweifele Gerade, und hoffe, dass mir hier jemand eine Hilfe geben kann. Beschreibung der Situation: Aus einer Datenbank werden Daten ausgelesen, und auf diverse Tabellenblätter einer neuen Mappe aufgeteilt. Die neuen Blätter werden aus einer Vorlage erstellt, wo bereits eine Seitenformatierung stattgefunden hat. Diese Seiten werden auch anstandsfrei in die neue Arbeitsmappe aufgenommen, und auch gespeichert. Öffnet man nun diese Datei, und geht Arbeitsblatt für Arbeitsblatt durch, sind in den Seiteneinstellungen auch die Werte drin, die in der Vorlage vorgegeben waren (als Beispiel halt DIN A4 Landscape mit Fit auf eine Seitenbreite und Ränder auf 1,5 cm reduziert) Problem: Wenn ich nun mehrere Tabellenblätter dieser Mappe aktiviere, und dann über "Drucken" - "Auswahl" diese Blätter ausdrucken möchte, wird nur das erste Blatt formatiert, die nachfolgenden Blätter werden dann entsprechend der "WindowsVoreinstellung" (DinA4 normal, ohne Fit und Ränder mit 2 - 2,5 cm) Auch der Eintrag in der Private Sub Workbook_BeforePrint(Cancel As Boolean) If Not ActiveSheet.PageSetup.PrintTitleRows = "$1:$8" Then ActiveSheet.PageSetup.PrintTitleRows = "$1:$8" If Not ActiveSheet.PageSetup.PrintTitleColumns = "" Then ActiveSheet.PageSetup.PrintTitleColumns = "" If Not ActiveSheet.PageSetup.PrintArea = "" Then ActiveSheet.PageSetup.PrintArea = "" If Not ActiveSheet.PageSetup.LeftHeader = "" Then ActiveSheet.PageSetup.LeftHeader = "" If Not ActiveSheet.PageSetup.CenterHeader = "" Then ActiveSheet.PageSetup.CenterHeader = "" If Not ActiveSheet.PageSetup.RightHeader = "" Then ActiveSheet.PageSetup.RightHeader = "" If Not ActiveSheet.PageSetup.LeftFooter = "" Then ActiveSheet.PageSetup.LeftFooter = "" If Not ActiveSheet.PageSetup.CenterFooter = "" Then ActiveSheet.PageSetup.CenterFooter = "" If Not ActiveSheet.PageSetup.RightFooter = "" Then ActiveSheet.PageSetup.RightFooter = "" If Not ActiveSheet.PageSetup.LeftMargin = Application.InchesToPoints(0.590551181102362) Then ActiveSheet.PageSetup.LeftMargin = Application.InchesToPoints(0.590551181102362) If Not ActiveSheet.PageSetup.RightMargin = Application.InchesToPoints(0.590551181102362) Then ActiveSheet.PageSetup.RightMargin = Application.InchesToPoints(0.590551181102362) If Not ActiveSheet.PageSetup.TopMargin = Application.InchesToPoints(0.590551181102362) Then ActiveSheet.PageSetup.TopMargin = Application.InchesToPoints(0.590551181102362) If Not ActiveSheet.PageSetup.BottomMargin = Application.InchesToPoints(0.590551181102362) Then ActiveSheet.PageSetup.BottomMargin = Application.InchesToPoints(0.590551181102362) If Not ActiveSheet.PageSetup.HeaderMargin = Application.InchesToPoints(0.511811023622047) Then ActiveSheet.PageSetup.HeaderMargin = Application.InchesToPoints(0.511811023622047) If Not ActiveSheet.PageSetup.FooterMargin = Application.InchesToPoints(0.511811023622047) Then ActiveSheet.PageSetup.FooterMargin = Application.InchesToPoints(0.511811023622047) If Not ActiveSheet.PageSetup.PrintHeadings = False Then ActiveSheet.PageSetup.PrintHeadings = False If Not ActiveSheet.PageSetup.PrintGridlines = False Then ActiveSheet.PageSetup.PrintGridlines = False If Not ActiveSheet.PageSetup.PrintComments = xlPrintNoComments Then ActiveSheet.PageSetup.PrintComments = xlPrintNoComments If Not ActiveSheet.PageSetup.PrintQuality(1) = 600 Then ActiveSheet.PageSetup.PrintQuality(1) = 600 If Not ActiveSheet.PageSetup.PrintQuality(2) = 600 Then ActiveSheet.PageSetup.PrintQuality(2) = 600 If Not ActiveSheet.PageSetup.CenterHorizontally = False Then ActiveSheet.PageSetup.CenterHorizontally = False If Not ActiveSheet.PageSetup.CenterVertically = False Then ActiveSheet.PageSetup.CenterVertically = False If Not ActiveSheet.PageSetup.Orientation = xlLandscape Then ActiveSheet.PageSetup.Orientation = xlLandscape If Not ActiveSheet.PageSetup.Draft = False Then ActiveSheet.PageSetup.Draft = False If Not ActiveSheet.PageSetup.PaperSize = xlPaperA4 Then ActiveSheet.PageSetup.PaperSize = xlPaperA4 If Not ActiveSheet.PageSetup.FirstPageNumber = xlAutomatic Then ActiveSheet.PageSetup.FirstPageNumber = xlAutomatic If Not ActiveSheet.PageSetup.Order = xlDownThenOver Then ActiveSheet.PageSetup.Order = xlDownThenOver If Not ActiveSheet.PageSetup.BlackAndWhite = False Then ActiveSheet.PageSetup.BlackAndWhite = False If Not ActiveSheet.PageSetup.Zoom = False Then ActiveSheet.PageSetup.Zoom = False If Not ActiveSheet.PageSetup.FitToPagesWide = 1 Then ActiveSheet.PageSetup.FitToPagesWide = 1 If Not ActiveSheet.PageSetup.FitToPagesTall = False Then ActiveSheet.PageSetup.FitToPagesTall = False End Sub bringt nicht den gewünschten Erfolg. Wie kann ich erreichen, dass wirklich JEDE Seite formatiert wird ? Mein erster Versuch war, jedes einzelene Blatt mit diesen Parametern zu "befüllen", was jedoch zu lange dauert (ist ja auch überall zu lesen). Trotz der enormen "Mehrzeit" ist der Erfolg ausgeblieben, so dass ich dann umgestellt habe auf eine vorformatierte Vorlage und dann nur noch die Angaben überprüfe. Die evt. Mechanismen müssen abwärtskompatibel sein bis EXCEL 2000 :floet:
  10. Hallo Zusammen Ich hab da was, wo ich nicht weiß, ob es hier auch was zu "automatisieren" geht. Suchen in verschiedensten Foren hat mir leider keinen Erfolg gebracht Es geht um den Ausdruck von Ettiketten unter Word, mit der Serienbrieffunktion. Ich hab also ein Dokument, wo mir die Ettiketten alle aufgezeigt werden, und das Dokument ist mit unserer Datenbank verknüpft. Ich bekomme auch alle Daten wie ich sie haben möchte, jedoch die Registratur möchte es etwas anders haben Im Datensatz besteht die "Bezeichnung" aus 2 Teilen "xxx yyyyyyyyy - Name Vorname". Bisher habe ich immer beides auf das Ettikett gedruckt, nun kommt aber Registratur und sagt, ich möchte nur Name und Vorname dort stehen haben. Wie kann ich nun es einrichten, dass mir Word beim "füllen" sofort den ersten Teil der Bezeichnung verschluckt (wie beim Split mit delimiter = "-" und dann das 2. Item)? Die zweite Frage ist, wie kann ich Word sagen, dass er nicht links oben anfangen soll (bei einem angefangenem Bogen mit Adressettiketten), sondern bei einem anderem Ettikett. Ich habe noch keinen Code, da ich bisher nur die Word-Eigenen Funktionen angewendet habe (Serienbrieffunktion). Möchte wenn möglich auch auf Code verzichten, vermute aber, dass es ohne nicht geht ... Fals es nicht ohne geht, dann müßte ich wissen, wie ich das Formular (Ettikettenvorlage) am Besten einrichte (Bezeichner der Felder oder ähnliches), damit ich aus dem Code auch auf das richtige Ettikett springe Hat da wer was, oder kann helfen?
  11. Hab ne Lösung gefunden. Habe jeweils die drei Steuerelemente (txt, lbl und img) als Gruppe zusammengefasst und dann via Tag einzeln durchnummerriert. Nun fange ich den Tag ab und positioniere entsprechend den Cursor im Recordset.
  12. Wenn's was länger dauert, nimm dir nen snickers.jpg

  13. Hallo zusammen diesmal hab ich nen Prob, wo ich nicht weiß, ob es dafür wirklich ne Lösung gibt. Mein Problem: Ich habe ein Frame mit verschiedenen Elementen (Label, Picture, Textbox und CommandButton). Dieses Auflistung möchte ich nun durchlaufen und jedem dieser Elemente etwas aus der Datenbank zuweisen (außer den Buttons) Es gibt also immer ein zusammengehöriges Set bestehend aus ImageBox, Label und TextBox Wenn ich nun die Controls durchlaufe ist leider die Reihenfolge leider nicht "sortiert" (siehe unten). Wie kann ich nun erreichen, dass die Controls in einer benutzerdefinierten Reihenfolge abgefragt (durchlaufen) werden? Ich habe mir die Reihenfolge mal im Direktfenster ausgegeben. Danach habe ich gedacht, ich könnte es mit dem Tabulator ändern, habe jedem Element einen neuen TabIndex gegeben, leider jedoch ohne Änderung der Ausgabe. Gibt es einen Weg, die Reihenfolge so zu ändern, dass wenn ich die Controls durchlaufe, ich bei lblFoto1 anfange, über imgFoto1 zum txtFoto1Bem komme. Wann die Button kommen ist mir schnurz, die werden eh rausgefiltert beim füllen. Der Erfolg soll sein, dass ich nicht bei jedem Control.Element den Courser in der Datenbank neu positionieren muß, sondern erst nach dem eintrag der 3 relevanten Daten. Im zweitem Fenster ist der Code aus meinem Projekt For Each Element In userform1.frameFotos.Controls() : ? element.name : next lblFoto1 imgFoto1 cmdFotoVor cmdFotoZurück cmdNeuFoto imgFoto2 imgFoto3 imgFoto4 imgFoto5 imgFoto6 lblFoto5 lblFoto3 lblFoto4 lblFoto6 lblFoto2 txtFoto1Bem txtFoto2Bem txtFoto3Bem txtFoto4Bem txtFoto5Bem txtFoto6Bem Private Sub BilderZuweisen() Dim i As Integer Dim Label As String Dim Element As Object frameFotos.Visible = False For Each Element In frameFotos.Controls If Left$(Element.Name, 3) = "img" Then If Not rstFotos.EOF And Not rstFotos.BOF Then Element.Picture = LoadPicture(CurrentProject.Path & "\Bilder\" & rstFotos!LinkAdr) rstFotos.MoveNext Else Element.Picture = LoadPicture("") End If ElseIf Left$(Element.Name, 3) = "lbl" Then If Not rstFotos.EOF And Not rstFotos.BOF Then Element.Caption = rstFotos!Bemerkung rstFotos.MoveNext End If End If Next ' Datensatzsteuerung einstellen If rstFotos.AbsolutePosition > 5 And rstFotos.AbsolutePosition < rstFotos.RecordCount Or rstFotos.BOF Then cmdFotoVor.Enabled = True Else cmdFotoVor.Enabled = False End If If rstFotos.AbsolutePosition > 6 Or rstFotos.EOF Then cmdFotoZurück.Enabled = True Else cmdFotoZurück.Enabled = False End If frameFotos.Visible = True End Sub edith sagt: Access Version 2000 (Vers 9 ) mit ExcelForms (also nicht die "StandartForms" aus Access)
  14. hallo Saifai, hat was gedauert bis ich mich wieder Zeit hatte mich weiter dran zu setzen. Ich mache es so ähnlich wie Du es geschrieben hast. (halt angepasst an meine Bedingungen), aber das Kreiseln zwischen den Controls innerhalb von Frames geht dann doch ganz gut. Viel zu schreiben und zu überwachen, aber es geht.
  15. dann werden im bios alle parameter auf ein maß gebracht, wo es laufen muß. die performance kann erstmal sehr darunter leiden, da auch der speicher (ram) entsprechend langsam angesprochen wird. sollte dann der fehler immernoch auftauchen, dann solltest du den rechner wirklich zum "doc" bringen, denn dann liegt da was im sterben, oder ist gar schon gestorben. eine weitere fehlerquelle ist auch ein verstopfter Lüfter/Kühler (auch / gerade zwischen kühlrippen). denke da auch die sommertemperaturen wo weniger wärme abgeführt werden kann. jedoch vorsicht bei der reinigung der lüfter (sehr schnell lagerschaden). ich empfehle einen regulierbaren staubsauger, den auf geringste leistung, dann mit einem langhaarigem flachpinsel vorsichtig ausbürsten richtung saugrohr. nicht mit dem saugrohr über den lüfter dass er sich dreht, die drehzahl überlastet schnell mal die lager und dass das alles ohne stecker in der steckdose zu erfolgen hat, denke ich, muß ich hier nicht erwähnen das sind dann noch mal nen paar ansatzpunkte für deinen fehler
  16. hast du mal alles aus dem rechner "ausgebaut" an karten ? mit ausnahme vga fals nicht onboard? und dann nur ein nacktes windows (also dass keine treiber mehr drin sind) im bios mal auf "Fail-Save" einstellen
  17. Also ich finde die Idee mit einem "Erledigt" Vermerk weiterhin Unterstützenswert. Vielleicht sogar noch nen Schritt weiter gehen, und "Punkte" vergeben lassen. Hat die Antwort etwas gebracht oder nicht, oder so ein "Danke" - button oder so. Denn dann haben es die Besucher einfacher, die nicht tgl. hier online sind. Einmal sehen sie rel. schnell, wo noch Hilfe benötigt wird (vielleicht ja sogar grad mein Wissen), also senf dazu ... und man sieht auch, wieviel "sternchen" der Antworter schon hat, und weiß dadurch seine Aussage entsprechend einzustufen Nun die Kehrseite Wahne viel Anpassung an der Forumssoftware, oder evt. gar Neuanschaffung. Ich denke eher daran an die lieben Leute da draußen, die aus Langeweile, oder Prüfungsstress nen Projekt suchen ... macht doch ne Anpassung für dieses Forum hier (kleinen aufruf startet )
  18. ja, aber .... ich nutze nicht das Form aus Access, sondern aus der VBA-Libary. Warum ? Ich habe ein Form mit Excel erstellt. Dieses Form habe ich dann unter Access importiert. Mit dem Trugschluß, dass die Steuerelemente sich identisch verhalten. Wie ich nun feststellen muß, ist dies nicht der Fall. Eine ListBox in einem importierem Excel-VBA-Form verhält sich anders, als das Access interne Steuerelement. Das Access-Steuerelement kann ich jedoch nicht auf dem importiertem Form editieren. Warum nutze ich nicht das Access eigene Form ? In meiner Ausbildung habe ich VB6 gelernt, und danach auch einige Anwendungen drin geschrieben, und mich daran gewöhnt. Da fiel mir der Umstieg nach VBA mit Office nicht schwer. Aber als ich dann die Forms von Access mir angeschaut habe, habe ich sehr viel vermisst, was ich unter VB/VBA so eigentlich mit meinen Daten machen kann ... Gerade in hinsicht auf Gestaltung der Oberfläche. Sicherlich kann mach auch mit den Access-Forms wunderebare Sachen machen, aber dafür muß ich mir es dann erstmal richtig anschauen, und kann das nicht mal adHook machen. Wenn es mir sonst alles zuviel wird, mach ich ne DDE mit Excel auf, und lass dort die Forms rennen (oder spricht etwas aus irgendeiner Erfahrung dagegen?)
  19. Fehler 13: Typen unverträglich ist das Ergebnis, nur das hilft auch absolut nicht weiter ... Er will an dieser Stelle nen String hier mal der lange auszug aus der Hilfe: RowSourceType-, RowSource-Eigenschaften (Herkunftstyp, Datensatzherkunft) Sie können die Eigenschaften RowSourceType und RowSource zusammen verwenden, um Microsoft Access mitzuteilen, wie Daten für ein Listenfeld, ein Kombinationsfeld oder ein ungebundenes OLE-Objekt (z.B. ein Diagramm) bereitgestellt werden sollen. Wenn Sie z.B. in einem Listenfeld Datenzeilen anzeigen möchten, die aus einer Abfrage namens Kundenliste stammen, stellen Sie die Eigenschaft RowSourceType des Listenfelds auf Tabelle/Abfrage und dessen Eigenschaft RowSource auf die Abfrage namens Kundenliste ein. Einstellung Die Eigenschaft RowSourceType hat die folgenden Einstellungen. Einstellung Beschreibung Tabelle/Abfrage (Standardeinstellung) Die Daten stammen aus einer Tabelle, Abfrage oder SQL-Anweisung, die von der Einstellung der Eigenschaft RowSource festgelegt wurde. Wertliste Die Daten entsprechen einer Liste von Einträgen, die von der Einstellung der Eigenschaft RowSource festgelegt wurden. Feldliste Die Daten entsprechen einer Liste von Feldnamen einer Tabelle, Abfrage oder SQL-Anweisung, die von der Einstellung der Eigenschaft RowSource festgelegt wurde. Anmerkung Sie können die Eigenschaft RowSource auch mit einer benutzerdefinierten Funktion einstellen. Der Funktionsname wird ohne vorstehendes Gleichheitszeichen (=) und ohne nachfolgendes Klammernpaar eingegeben. Geben Sie bestimmte Code-Argumente der Funktion an, um Microsoft Access mitzuteilen, wie das Steuerelement gefüllt werden soll. Die Einstellung der Eigenschaft RowSource ist abhängig von der Einstellung der Eigenschaft RowSourceType. Einstellung von RowSourceType Zugehörige Einstellung von RowSource Tabelle/Abfrage Der Name einer Tabelle bzw. einer Abfrage oder eine SQL-Anweisung. Wertliste Eine Liste von Einträgen mit Semikolons ( als Trennzeichen. Feldliste Der Name einer Tabelle bzw. einer Abfrage oder eine SQL-Anweisung. Anmerkung Wird die Eigenschaft RowSourceType auf eine benutzerdefinierte Funktion eingestellt, dann kann die Eigenschaft RowSource leer gelassen werden. Sie können die Eigenschaften RowSourceType und RowSource im Eigenschaftenfenster des Steuerelements, in einem Makro oder in Visual Basic einstellen. Für solche Felder, deren Eigenschaft DisplayControl auf Kombinationsfeld oder Listenfeld eingestellt ist, können Sie diese Eigenschaft für Tabellenfelder in der Tabellenentwurfsansicht auf der Registerkarte Nachschlagen im Bereich Feldeigenschaften einstellen. Anmerkung Microsoft Access stellt diese Eigenschaft automatisch ein, wenn Sie in der Tabellenentwurfsansicht Nachschlage-Assistent als Datentyp für ein Feld auswählen. Stellen Sie in Visual Basic die Eigenschaft RowSourceType unter Verwendung eines Zeichenfolgenausdrucks auf einen der folgenden Werte ein: "Table/Query", "Value List" oder "Field List". Sie können einen Zeichenfolgenausdruck auch verwenden, um den Wert der Eigenschaft RowSource einzustellen. Sie stellen die Eigenschaft RowSourceType auf eine benutzerdefinierte Funktion ein, indem Sie den Namen der Funktion eingeben. Anmerkung Verfügen Sie über eine begrenzte Anzahl an Werten, die sich nicht ändern, so können Sie die Eigenschaft RowSourceType auf Wertliste einstellen und dann die Werte eingeben, die in der Liste in der Eigenschaft RowSource enthalten sind. Wenn Sie eine benutzerdefinierte Funktion erstellen, um Elemente in ein Listenfeld oder Kombinationsfeld einzufügen, ruft Microsoft Access die Funktion mehrmals auf, um die benötigten Informationen zu erhalten. Benutzerdefinierte Funktionen für RowSourceType werden in einem ganz bestimmten Funktionsformat geschrieben. [/code] naja und dort steht halt, es soll auch mit nen SQL-Befehl gehen ich bin dann aber nun mal wech ... koffer packen und dann nach hause ... werde mich dort weiter dran setzen, vllt kommt mir ja dort die Eingebung :eek
  20. Ich hab in der Online-hilfe lokal gesucht, jedoch steht dort so ziemlich das gleiche wie auf der MSDN Seite. Jedoch muckt Access2000 schon auf, wenn ich: lstMaterial.RowSourceType = "Table/Query" mache. ich denke das liegt an den verschiedenen klassen :/ access hat ja etwas andere klassen als VB6 oder VBA für die controlls. Gleiche ist ja auch bei textfeldern ... in VB6 geb ich nen RecordSource, und hab die Dinger gebunden, jedoch unter Access muß ich das ja alles zu fuß machen ... Breche mir grad die Ohren, aber ich denke ich werde es auf die Klassische machen ... For ... additem/list() ... next muß nur mal sehen wie ich es dann mit dem Zeiger in der DB mache ... oder ich mach nen clone oder sowas ... und danke für die schnelle reaktion ps: wenn ich das Formular nach Excel packe, und dort die Daten in ein Tabellenblatt schreibe, dann kann ich dieses mit deklarieren ... aber ich will doch nun garnicht eine Excelinstanz öffnen um dieses Feature nutzen zu können ^^
  21. Hallo Zusammen, Ich hab nen Problem mit VBA unter Access. In einem Formular, was ich in Excel erstellt, und dann im Access importiert habe gibt es viele Stuerelemente. Ich kann auch sämtliche Steuerlemente füllen (von hand), nur bei der Listbox habe ich auf die Hilfe vertraut, denn die sagt ja aus, eine Listbox kann auch mit Recordsets umgehen (wie in VB6 ja schließlich auch) Mein Recordset wie wie folgt gefüllt: Set rstAufschuettung = db.OpenRecordset("SELECT MatArt.Beschreibung, Materialaufschuettung.Herkunft, MatQualität.Qualität, Materialaufschuettung.Bemerkung FROM MatQualität INNER JOIN (MatArt INNER JOIN (Maßnahme INNER JOIN Materialaufschuettung ON Maßnahme.StandortID = Materialaufschuettung.StandortID) ON MatArt.MaterialID = Materialaufschuettung.MaterialID) ON MatQualität.MatQualität = Materialaufschuettung.QualitätID WHERE ((Materialaufschuettung.StandortID)= " & rstMaßnahme!StandortID & " )", dbOpenDynaset, dbReadOnly) sämtliche Datenfelder des Recordsets sind Text nur Bemerkung ist ein Memo-Feld hier stelle ich die Anzahl der Spalten ja ein: lstMaterial.ColumnCount = rstAufschuettung.Fields.Count und hier möchte ich eigentlich gerne meiner ListBox nun dieses Recordset übergeben: lstMaterial.RowSource = rstAufschuettung kommt verständlicherweise "Typen unverträglich" lstMaterial.RowSource = "rstAufschuettung" hier kommt Fehler 380: Eigenschaft RowSource konnte nicht gesetzt werden. Üngültiger Eigenschaftswert zitat Hilfe: nur frage ich mich nun, welcher Eigenschaftswert ungültig ist :/ Weiß jemand Rat ? Verwendet wird Access 2000, die Verweise sind als Anhang mit aufgeführt
  22. Nach einigem Suchen bin ich auf was gestoßen. In einem Buch aus dem Hause Sybex habe ich das "Form_Current()" gefunden, und auch mal in dem Code eingebaut, und es funktioniert auch (wenigstens erstmal in diesem kleinem Versuch). Sollte es eine "schönere" Möglichkeit geben, so bin ich für Anregungen immer dankbar.
  23. Hallo zusammen, ich versuche soeben in einem kleinem Übungsform etwas mehr über die Bindung des Steuerelementes für den Datanbankcursor zu verstehen. In der Anlage habe ich das Formular abgebildet. Die Tabelle enthält nur 2 Felder: Autonummer (Zahl) Bildadresse als Link (Text) Das Formular wurde mittels Designer erstellt, wobei die Picturebox anschließend manuel hinzugefügt wurde. Nun habe ich beim einfachen durchblättern der Datenbank keine Probleme, dafür nutze ich das "Exit" der BildNr. Nur wenn ich den Focus der Coursersteuerleiste verlasse, um z.B. durch Klick auf den Link, mir das Foto in groß anzuschauen, klappt diese Lösung nicht mehr mit dem "Exit" Gibt es eine Möglichkeit, dieses Steuerelement, was der Assi von Access dort einfügt, abzufangen, also die Aktionen selbstverständlich. Mein Gedanke war, das "Moving" der Datensätze abzufangen. Hat da wer nen Vorschlag? achso .. folgenden Code habe ich bisher verwendet: Private Sub BildNr_Exit(Cancel As Integer) If Not IsNull(LinkAdr) Then Bild5.Picture = Right(Left(LinkAdr, Len(LinkAdr) - 1), Len(LinkAdr) - 2) Debug.Print Bild5.Picture, "Exit" Else Bild5.Picture = "" End If End Sub [EDIT] Es handelt sich um Access 2000 auf einer XP Umgebung [/EDIT]
  24. Um das C in VB zu übersetzen muß man wirklich nicht lange überlegen ... Jedoch verstehe ich nicht, was das ganze soll ^^ Ich übersetze den C-Code, habe dann aber dennoch nicht die Funktion, die Deine Biblio aufruft, somit kann ich NICHT darstellen, dass es bei VB nicht geht, denn auch in VB kann man die Variable so füllen, dass es als mehrdimonisales Array fungiert, und man auch auf die einzelnen Elemente, oder aber als ganze Zeile (jedenfalls haben wir das damals so gelernt ^^) noch suspekter ist es, wenn der Studienkollege mit den Skripts Dir nicht mehr zur Verfügung steht, und Dir keinerlei Support geben kann ... okay .. im Text hört sich das auch eher an wie "Ich hab da was gefunden, dass habe ich mal ausprobiert, bin jedoch mangels Dokumention des Programmiers einmal über den zugefrorenen Wannsee geschlittert, bis ich in ein Loch gefallen bin" und nun wird jemand mit der Rettungsleiter gesucht ^^
  25. *kopfschüttel* wo findet denn bitte die berücksichtigung in deinem code ? ...

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...