Zum Inhalt springen

DevHB

Mitglieder
  • Gesamte Inhalte

    170
  • Benutzer seit

  • Letzter Besuch

Alle Inhalte von DevHB

  1. Hi, wenn ich um 15.00 Uhr Schluss habe, mach ich mal ein Beispiel... Wird so gegen 16.00Uhr sein.
  2. Also, erstmal die entspr. SQL - Anweisung aufbauen: SELECT T_KFZ.I_ID, T_KFZ.F_Kennzeichen, T_KFZ.F_Marke, T_KFZ.Modell FROM T_KFZ dann musst Du die Daten mit dem Recordset wie in den Posts vorher aus der DB holen, die in die Combobox bügeln. Dann nimmst Du das "ComboBox_Click" Ereignis, um damit dass Füllen anzustoßen. Ich würde mir eine Funktion schreiben, die Dir die ComboBox füllt, eine die Dir die Werte an die Textboxen überträgt (ala Text1.Text = Rs.Fields("DeinFeld").Value) und fertig bist Du. Was hast Du bis jetzt probiert bzw. hast Du Dir mal die Links angeschaut? So langsam erschleicht sich die Ahnung, dass Du erstmal Dein DB Wissen aufbauen musst (SQL Statements etc.), denn das DB - Design (Tabellenaufbau) ist Mist (Stichwort: Normalisierung!). Ich kann Dir fertigen Code posten, doch das bringt Dir im Endeffekt überhaupt nichts, denn wer soll das Programm warten/erweitern? Grade Dein Edit gesehen: Auch das Stringverketten geht so nicht: = "SELECT T_KFZ.F_registrationnumber, " & _ "T_KFZ.F_manufacturer, " & _ "T_KFZ.F_type, " & _ "FROM F_KFZ " & _ "WHERE I_ID = " & Me.DBComboKFZI_ID.ListIndex & ";"
  3. Naja, so wie mit DAO auch: Set gvRs = New ADODB.Recordset gvRs.Open "T_KFZ", gvConnection, adOpenDynamic, adLockReadOnly With Rs Call .MoveFirst Do While (Not (.EOF)) Call DBComboKFZ.AddItem(.Fields("F_registrationnumber").Value) ' nächsten datensatz anspringen Call .MoveNext Loop End With Was ist bei Dir "T_KFZ" ? Ist das der Tabellenname? Wenn dem so ist, mach das in einer SQL Anweisung ala "SELECT * FROM T_KFZ". Hierbei ist anzumerken, dass die Schreibweise mit dem ! veraltet und zu Fehleranfällig ist, Wartung ist auch Müll. Übersichlicher ist es mit "Rs.Fields("FeldName").Value" ! Ist die Combobox eine "DataCombo"? Wenn dem so ist, schmeiß die raus und nimm eine normale ComboBox, die DB-Combo ist für datengebundene Arbeitsweise, die man in VB 6 tunlichst vermeiden sollte! Außderdem sollte man der normalen Combo dann noch Wert in die ItemData Eigenschaft schreiben, damit man so Zugriff auf z.B. IDs hat. Ich würde Dir empfehlen, die Tutorials durchzuarbeiten und Dir das Beispiel mal anzuschauen: Tuts: http://activevb.de/tutorials/tut_adokurs/adokurs.html http://activevb.de/tutorials/tut_ado_db/adodb.html Tips http://activevb.de/tipps/vb6tipps/tipp0440.html Beispiel http://www.activevb.de/cgi-bin/upload/download.pl?id=2444
  4. Hi, Du hast zwei Möglichkeiten, eine DB mit VB 6 anzusprechen: DAO und ADO. DAO ist älter und wird von MS nicht mehr weiterentwickelt, ADO ist die neuere Variante. Für den "normalen" Zugriff sollte man IMO ADO verwenden, wenn es darum geht, Tabellen zu ändern, nimmt man ADOX. Allerdings kommt man an manche Systemeinstellungen der DB nur mit DAO ran. Zu 1.) Dim Cn As ADODB.Connection Dim Rs As ADODB.Recordset Set Cn = New ADODB.Connection With Cn .ConnectionString = "C:\Test.mdb" .Mode = adShareDenyDone .Provider = "Microsoft.Jet.OLEDB.4.0" ' für Access 2000/XP ' 3.51 für Access97 Call .Open End With Set Rs = New ADODB.Recordset With Rs Set .ActiveConnection = Cn .LockType = adLockBatchOptimistic .CursorLocation = adUseClient .Source = "SELECT * FROM Tabelle" Call .Open End With Dim i As Long With Rs ' alle Felder des Rs durchlaufen ' Feld = Spalte in Tabelle For i = 0 To .Fields.Count - 1 ' Feldnamen und Feldwert ausgeben Debug.Print .Fields(i).Name & ": " & .Fields(i).Value Next i End With Änderungsabfragen immer per SQL - Statement über die Connection ausführen: Call Cn.Execute ("INSERT INTO ....") Dies ist wesentlich schneller und die Recordset - Methoden "AddNew", "edit" und "delete" sind teilweise unsicherer. 4.) Einfügen --> INSERT Statement Ändern --> UPDATE Statement Löschen --> DELETE Statement
  5. Hi, hier gibt es eine Demo für das Grid: http://www.activevb.de/cgi-bin/upload/download.pl?id=480 Musst mal bei "Sortieren" schauen.
  6. DevHB

    webbrowser VB.NET

    ok............
  7. DevHB

    webbrowser VB.NET

    Hmm, kann ich leider nicht überprüfen, haben hier nur die 2005'er... Sorry.
  8. DevHB

    webbrowser VB.NET

    Hi, also ich habe das VS.NET Studio 2005 auf englisch. Dort ist das Ding standartmäßig drin (bei den "common controls"). Welche Version hast Du denn vom Studio?
  9. DevHB

    webbrowser VB.NET

    Hi, wenn Du in der Toolbox bei den "Common Controls" schaust, da ist das Webbrowsersteuerelement drin. Alternativ natürlich auch bei "All Window Forms" Kategorie.
  10. Moin, nein, ich verstehe den Sinn hinter der 2. Aufgabe nicht. Wieso ist die nächst nährere Zahl von 10 30 und nicht 23? Soll das eine Sortierung des Flexgrids werden?
  11. Dimensionen werden mit Kommata getrennt: ' 2 Dimen. Dim aTest(0 To 0, 0 To 0) ' oder Dim aTest(0, 0) Ich würde an Deiner Stelle noch den Datentyp angeben, da er ohne eine "As XXX " Deklaration ein "Variant" ist und dieser möglichst vermieden werden sollte.
  12. hi, das einlesen klappte bei mir, wenn ich den Backslash bei "C:Liesmich" einfüge. Wenn Du einfach mal Open DateiName For Input As #DateiNr ' Do While Not EOF(DateiNr) Line Input #DateiNr, temp ' ausgabe im direktfenster Debug.Print temp Loop Close DateiNr machst, wirst Du sehen das er schon einließt. Erkläre am besten mal genau, was Du in dem FlexGrid wo darstellen willst. Ich denke, Du wirst am besten fahren, wenn Du den Dateiinhalt zeilenweise in ein Array packst und mit diesen das Flexgrid füllst.
  13. Bei Bedarf kann ich Dir eine Funktion schicken, die Dir den Flexgridinhalt in einen String transformiert, Zeilen durch "VBCrlf" und Spalten durch "TAB" getrennt.
  14. Nabend, Private Sub Comsave_Click() ' sowas macht man am Besten mit gleichen Datentypen! ' Dim Dateiname As String, DateiNr As Integer ' Dim Temp As String Dim sDateiName As String, sTemp As String Dim nDateiNr As Integer sDateiname = "C:\Liesmich.txt" DateiNr = FreeFile ' # fehlt Open sDateiname For Output As #nDateiNr ' das Semikolon am Ende bewirkt, dass ein Zeilenumbruch (z.B. VbCrLf) ans Ende der Zeile geschrieben wird ' alternativ: .... , VSFlexGrid1.Cell(...) & VbCrLf Print #nDateiNr, VSFlexGrid1.Cell(flexcpText, 1, 0); Print #nDateiNr, VSFlexGrid1.Cell(flexcpText, 1, 1); Print #nDateiNr, VSFlexGrid1.Cell(flexcpText, 1, 2); Close #nDateiNr End Sub Code ist ungetestet, ich würde den Inhalt des Grid auch vorher in eine String Variable schmeißen, besser für eventuelle spätere Verarbeitung. Ansonsten schau mal hier, dort ist das Dateihandling mit VB 6 gut beschrieben: http://www.activevb.de/tutorials/tut_speichern/speichern.html Schönen Abend.
  15. Ich denke nicht, schau mal bei www.vbarchiv.de, vielleicht gibts da ja noch was...
  16. Tja und nu? Die Tools kenne ich, was soll mir der Link sagen?
  17. Gibt für die keine Upgrade Möglichkeit? Wie gesagt, ich denke Du wirst arge Probleme haben, VB 6 noch irgendwo zu bekommen, lasse mich aber gerne etwas besserem belehren...
  18. Hi, hier nun kommentiert und getestet: Private Sub Form_Load() Dim sSuchString As String ' string, getrennt durch vbCr sSuchString = "xWert1" & VBA.Constants.vbCr & _ "xWert2" & VBA.Constants.vbCr & _ "xWert3" & VBA.Constants.vbCr & _ "xWert4" ' string array für die Werte Dim sValues() As String ' Dim i As Long ' suchstring aufsplitten in array sValues() = VBA.Split(sSuchString, VBA.Constants.vbCr, , vbTextCompare) ' alle elemente des Array durchlaufen For i = LBound(sValues()) To UBound(sValues()) ' hier event. Deine Verarbeitung ' ausgabe zum Test im Debug Fenster (Strg+G) Debug.Print "Element " & i & ": " & sValues(i) Next i End Sub
  19. Da wirst Du nicht mehr viel Glück haben, ist so gut wie vergriffen. Zudem hast Du oft das große Risiko, dass die Versionen bei Ebay teilweise Raubkopien sind. Steig lieber gleich mit .NET ein, Express Version gibts ja kostenlos oder in der aktuellen CT. Die dürfen auch kommerziell genutzt werden. Ansonsten viel Glück bei der Suche.
  20. Moin, dafür eignet sich die "Split$()" Funktion, diese splittet Dir einen String mit einem definierten Delimeter (in Deinem Fall "VBCr") in ein Array: Dim DeinString As String Dim sValues() As String Dim i As Long DeinString = "xWertA" & VbCr & "xWertB" & VbCr & "xWertC" sValues() = VBA.Split$(DeinString, VBA.Constants.VbCr) For i = LBound(sValues()) To UBound(sValues()) Debug.Print sValues(i) Next i ungetestet, sollte aber gehen.
  21. Oh, vergessen zu sagen: Du musst auf dem Formular ein CommonDialog Control hinzufügen!
  22. Hi, AFAIK geht das in einem Bericht nicht, ich habe zumindest kein Ereigniss für einen Button in einem Bericht erstellen können, mit einem Formular gehts mit dem CommonDialog: Dim CC As CommonDialog Set CC = New CommonDialog With CC .CancelError = False Call .ShowPrinter End With
  23. DevHB

    Fragen über Fragen

    Hi, ich denke, da das Prog eh nur für den privaten Gebrauch sein soll, ist CR wohl etwas "overloaded", vielleicht reicht ja schon der VB interne DataReport ?! AFAIK ist CR nur bei der Enterprise Edition dabei (oder wars Prof?).
  24. DevHB

    Fragen über Fragen

    Moin, entweder Du bügelst die Daten in Excel, Word ist IMO für Briefe und Standartformulare (Urlaubsanträge, Kundeninfos etc...) besser geeignet. Da erstellt Du Dir ne Vorlage, packst an die entspr. Stellen Textmarken und füllst die per Code von VB aus, Bsp.: http://www.activevb.de/tipps/vb6tipps/tipp0598.html Ansonsten kannst Du auch direkt auf den Printer schreiben, mit dem Printer Objekt: Printer.Print "DeinText" Auch dafür gibt es ein paar gute Beispiele: Blocksatz drucken: URL: http://www.activevb.de/cgi-bin/upload/download.pl?id=1665 mit PrintMargins/Druckvorschau per PicBox: URL: http://www.activevb.de/cgi-bin/upload/download.pl?id=2507
  25. DevHB

    Fragen über Fragen

    Hi, ich wüsste nicht, was ich in VB 6 nicht machen könnte (außer wohl Polymorphie, Vererbung und ein paar andere Sachen). Mit VB habe ich ebenso die Möglichkeit, DB aufzusetzen, egal wat für ein DBMS. Was die DB angeht, musst Du halt schauen, MSDE, MySQL, kostenlose SAPDB und ein paar andere. Ich denke Du solltest Dir erstmal im Klaren werden, was für eine Art der Datenhaltung Du willst.

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...