Zum Inhalt springen

Dani_Various

Mitglieder
  • Gesamte Inhalte

    9
  • Benutzer seit

  • Letzter Besuch

Beiträge von Dani_Various

  1. man öffnet eine neue Instanz von Excel.

    Dafür mit Doppelklick auf Excel im Startmenü und dann die Datei daraus öffnen.

    Man kann auch per Code eine neue Excelinstanz öffnen und dann erst die Box einblenden!

    ODer man arbeitet mit Showmodal...dann würde aber die Prozedur weiter abgearbeitet, obwohl die userform noch nicht geschlossen ist.

  2. Also auch wenn ich mich zuletzt vor einigen jahren hier gemeldet habe, kann ich da noch ein wenig mitreden....immerhin ist meine Ausbildung schon ein wenig her :)

    Also mal so als Crashkurs in Bezug auf VB (einschliesslich 6.0) und VBA....

    Mal in Zusammenfassung die Basics:

    1) Datentypen:

    Um mit Variablen arbeiten zu können, müssen diese einen Datentyp haben.

    Daher werden sie deklariert:Es gibt verschiedene Datentypen, die sich durch den Bereich unterscheiden. String für Zeichenketten (Wörter), Integer für Ganzzahlen(von -32768 bis +32767), Double für Kommazahlen und Long für Ganzzahlen größer als der Integerbereich.

    
    Dim a as integer
    
    Dim b as long
    
    Dim c as double
    
    Dim d as string
    
    Dim d() as integer 
    
    
    2) Es gibt Prozeduren und Functionen. Prozeduren werden "nur" abgearbeitet, Funktionen geben einen Wert zurück. Prozedur:
    
    Sub test1()
    
    
    end sub
    
    
    Funktion: Gibt den Wert zurück, der der Funktion selbst zugewiesen wurde. Rückgabewert als String, Integer...sogar als Array Möglich.
    
    Function test2() as string
    
       test2="hallo"
    
    end Function
    
    
    Beispiel Funktionsaufruf:
    
    sub test1()
    
       msgbox test2
    
    end sub
    
    
    3)Grundpfeiler Prozedurale Programmierung steht auf 3 Grundpfeilern:
    1. Sequenzen (Zuweisungen)
    2. Abfragen
    3. Schleifen
    Typische Sequenz:
    
    i=1
    
    
    Typische Abfrage:
    
    If a=1 then
    
       ...
    
    Elseif a=2 then
    
       ...
    
    else
    
       ...
    
    end if
    
    
    oder aber mit Select case:
    
    Select case i
    
    case 1
    
       ...
    
    case 2
    
       ...
    
    case else
    
       ...
    
    end select
    
    
    Schleifen gibts in 2 Varianten: Kopfgesteuert und Fußgesteuert. Kopfgesteuert bedeutet: Erst die Abbruchbedingung, dann die Schleife. Fußgesteuert umgekehrt. Beispiel Kopfgesteuerte Schleife: Hier wird erst geprüft, ob die Bedingung schon zutrifft.
    
    i=2
    
    Do until i>1
    
       i=i+1
    
    loop
    
    
    Beispiel Fußgesteuerte Schleife: Hier wird IMMER erst einmal durchlaufen und dann geprüft, ob die Bedingung schon zutrifft.
    
    i=1
    
    Do 
    
       i=i+1
    
    loop until i>1
    
    
    Zuletzt gibt es noch festgesetzte Schleifen:
    
    for i=1 to 10
    
       msgbox i
    
    next i
    
    
    DAS WARS AUCH SCHON FAST..... NAtürlich ist Programmierung weitaus komplizierter, aber es sollte ja auch nur ein Einstieg sein. Nun noch ein kleines Beispiel, wie eine Prozedur mit alle Grundpfeilern aussehen kann.
    
    sub test()
    
    Dim i as integer
    
    dim str as string
    
    
    i=0
    
    do
    
       if i=1 then
    
          str="eins"
    
       elseif i=2 then
    
          str="zwei"
    
       else
    
          str=i
    
       end if
    
    
       Msgbox "I hat den Wert " & str
    
    
       i=i+1
    
    loop until i>10
    
    
    end sub
    
    
    Und als Abschluss der Quellcode eines Quicksort für ein zweidimensionales Array:
    
    Sub QuickSort(ByRef sArray As Variant, ByVal MinElem As Long, MaxElem As Long)
    
        Dim Mitte                 As Long
    
        Dim vDummy                As Variant
    
        Dim vDummy2               As Variant
    
        Dim i                     As Long
    
        Dim j                     As Long
    
    
        If MinElem > MaxElem Then
    
            Exit Sub
    
        End If
    
    
        Mitte = (MinElem + MaxElem) \ 2
    
        i = MinElem
    
        j = MaxElem
    
    
        Do
    
    
            Do While (sArray(0, i) < sArray(0, Mitte))
    
                i = i + 1
    
            Loop
    
    
            Do While (sArray(0, j) > sArray(0, Mitte))
    
                j = j - 1
    
            Loop
    
    
            If i <= j Then
    
    
                vDummy = sArray(0, j)
    
                vDummy2 = sArray(1, j)
    
    
                sArray(0, j) = sArray(0, i)
    
                sArray(1, j) = sArray(1, i)
    
    
                sArray(0, i) = vDummy
    
                sArray(1, i) = vDummy2
    
    
                i = i + 1
    
                j = j - 1
    
            End If
    
    
        Loop Until i > j
    
    
        QuickSort sArray, MinElem, j
    
        QuickSort sArray, i, MaxElem
    
    End Sub

  3. Hallo,

    in VBA würde das von der Syntax her so aussehen:

    
    Sub Test()
    
        Dim a()                   As String
    
        Dim vorhanden             As Boolean
    
        Dim i                     As Integer
    
        Dim j                     As Integer
    
        Dim x                     As Integer
    
        Dim maxZeile              As Long
    
        Dim n                     As Integer
    
        Dim y                     As Integer
    
        Dim z                     As Integer
    
        Dim swp                   As String
    
    
        i = 0
    
        j = 0
    
        x = 0
    
    
        vorhanden = False
    
    
        'Letzte Zeile suchen
    
        maxZeile = 1
    
        Do
    
            maxZeile = maxZeile + 1
    
        Loop Until Cells(maxZeile, 1).Value = ""
    
    
    
    
        For i = 0 To maxZeile
    
            For j = 0 To UBound(a)
    
                If Cells(i, 1) = a(j) Then
    
                    vorhanden = True
    
                End If
    
                j = j + 1
    
            Next i
    
    
            j = 0
    
            If vorhanden = False Then
    
                a(x) = Cells(i, 1)
    
                x = x + 1
    
            End If
    
            vorhanden = False
    
            i = i + 1
    
        Next i
    
    
        n = LBound(a)
    
    
        For y = 1 To n Step -1
    
            For z = 0 To y - 1
    
                If a(z) > a(z + 1) Then
    
                    swp = a(z)
    
                    a(z) = a(z + 1)
    
                    a(z + 1) = swp
    
                End If
    
            Next z
    
        Next y
    
    
    End Sub
    
    

  4. Hallöchen!!!

    Ich hab da ein kleines Problem!

    (Bin mir sicher, dass es wirklich nur eine Kleinigkeit ist)

    Ich hab bei Oracle 9i eine neue Datenbankstruktur angelegt.

    Danach hab ich einen neuen User als DBA angelegt.

    Mit diesem User hab ich eine bereits bestehende Datenbank importiert.

    nun kann ich mich mit diesem Benutzernamen an der importierten Datenbank anmelden und die Tabellen ändern und auch deren Inhalt!

    Wenn ich allerdings SQL +Worksheet starte und ein SQL-statement absetze, bekomme ich eine Meldung, dass ich entweder nicht angemeldet bin oder Logon/Password falsch sind!

    Allerdings bin ich ja angemeldet, denn SQL +Worksheet habe ich aus dem Enterprise Manager gestartet!

    Muss ich noch zusätzliche Rechte vergeben, um SQL nutzen zu können?

    Wäre nett, wenn da jemand helfen könnte!

    Gruß

    -Dani-

  5. Also in meiner Firma wurde eine Vorlage benutzt, die relativ umfangreich ist!

    Es ist eine Vorlage einer Firma, die sich fast ausschliesslich auf die Erstellung von Pflichtenheften spezialisiert hat!

    http://www.hdvo.de

    Kennt man warscheinlich schon zu genüge, aber ich finds trotzdem gut.

    unter Downloads findet man ne gute Vorlage zum Pflichtenheft!!!

    Grüße

    -Dani-

  6. Hallöchen!

    Weiss zufällig jemand, ob es in SQL nen Befehl oder ne Function o.ä. gibt,

    die alle ausgewählten Datensätze in eine Zeile packt?

    Ansonsten müsste man alle Recordsets durchlaufen,

    was das Laufzeitverhalten bei größeren Mengen ziemlich neagtiv beeinflussen würde.

    Also besten Dank im Voraus!

    -Dani-

  7. Besten Dank!!!!!!!!!

    Hab sogar noch ne Möglichkeit gefunden: node.checked

    Jetzt fehlt nur noch ne Möglichkeit bei ADO die Checkbox vom Treeview auf nen Status des Datensatzes umzulegen, so dass man bei deaktivierung des Kästchens ebenfalls den Staus des Datensatzes deaktiviert...

    Hänge da noch etwas fest.

  8. Hallöchen, bin noch ein newbie und bastel gerade an einem datenbankprojekt mit treeview darstellung.

    Könnte mir vielleicht jemand nen tipp geben, ob ich - wenn beim treeview die checkboxen aktiviert sind - deren wert abfragen kann, also on haken dran oder nicht?

    Vielen dank schonmal im Voraus!

    Gruß -Dani-

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