Visual Basic Forum

Visual Basic Forum
für VB6 und VB.NET Programmierer
 
RegistrierenRegistrieren  LoginLogin

Neues Thema eröffnen   Neue Antwort erstellen    Visual Basic Forum Foren-Übersicht -> [VB6] Texte und Ebooks
Autor
Nachricht
ZiG_
Überflieger
Überflieger

Anmeldedatum: 07.03.2007
Beiträge: 1248

[Text] Datenbankprogrammierung
Verfasst am: 26.07.2007, 13:12

Hallo Leute.

Hab mir mal gedacht ich setze mich wieder an ein Tutorial.
Diesmal geht es über das programmieren mit Datenbanken.
Das kann ja oft sehr nützlich sein und erleichtert einem auch sehr das Leben. Wink

In diesem Tut werde ich euch zeigen wie man mit einer Access Datenbank und der Schnittstelle „DAO 3.6“ umgeht. Diese Schnittstelle dient uns als Kommunikationsmittel mit der eigentlichen Datenbank.

DAO“ ist zwar schon älter, wird aber sehr häufig eingesetzt und bei der Geschwindigkeit kann man sehr hohe Werte erreichen.

Ihr müsst euch keine Sorgen machen, dass es zu schwierig wäre mit Datenbanken zu arbeiten.
Es ist wirklich sehr einfach und es hat viele Vorteile gegenüber einer .ini bzw. einer .txt Datei oder der Registry.

Also fangen wir an.

1. Datenbank erstellen und Verweis auf DAO 3.6
Als erstes brauchen wir einen Verweis auf DAO 3.6.
http://www.imagebanana.com/img/krm2he2b/verweis.gif

Und nun erstellen wir eine Datenbank mit dem „Visual Data Manager“ direkt in VB.
Wichtig ist, dass ihr eindeutige Namen wählt.

Als Beispiel werde ich hier eine DB erstellen, in der man seine Mail Accounts + Passwort speichern kann.

Als erstes erstellen wir mal die Datenbank auf der Festplatte.
Dann machen wir eine Tabelle mit dem Namen „mailaccounts“ und den Spalten „mail“, und „password“. Außerdem wollen wir noch dass den Einträgen der Spalte „mail“ ein Index zugewiesen wird. Das ermöglicht uns eine sehr schnelle Suche der Einträge. Nennt den Index einfach „MailIndex“.
http://www.imagebanana.com/img/gckdfcyd/datenbank.gif

Nachdem ihr das gemacht habt, könnt ihr den Visual Data Manager schließen.

2. Datenbank laden/öffnen.

Um eine Datenbank und ihre Tabellen anzusprechen brauchen wir erstmal zwei Variablen, die global deklariert werden.(Ganz oben schreiben. Außerhalb der Subs)
Code:

Private DB As DAO.Database 'Datenbank
Private TB As DAO.Recordset 'Tabelle

Und nun übergeben wir an DB den Pfad zur Datenbank. Am besten schreibt ihr das in Form_Load.
Code:

Set Db = OpenDatabase(App.path & "\mailaccounts.mdb")

Sollte eigentlich selbsterklärend sein, dass in den Klammern der Pfad zur Datenbank steht.
Jetzt haben wir Zugriff auf die Datenbank. Aber wir benötigen noch Zugriff auf die Tabelle „MailAccounts“.
Zum öffnen einer Tabelle gibt es vier Möglichkeiten.

1. dbOpenDynaset
2. dbOpenTable
3. dbOpenSnapshot
4. dbOpenForwardOnly


Erklärung:
Im Modus OpenDynaset wird nicht direkt in die Tabelle geschrieben, sondern die Veränderungen zuerst zwischengespeichert und erst nach einem Refresh der DB sichtbar.

Bei OpenTable greift man direkt auf die Tabelle zu und es lässt sich die besonders schnelle „Seek“ Methode zum suchen benutzen.

OpenSnapShot funktioniert gleich wie OpenDynaset, nur das hier nicht in die DB geschrieben, sondern nur daraus gelesen werden kann.

Bei OpenForwardOnly kann man sich in der DB nur vorwärts bewegen. Falsche Befehle verursachen einen Fehler. Klingt komisch, aber kann nützlich sein, da dieser Modus eine gute Performance bietet.


Wir werden jetzt mal den Modus „dbOpenTable“ benutzen, da ich gerne mit „Seek“ arbeite und dieser Modus sehr schnell ist. Der Code, den ich poste ist auch schon sehr optimiert, so dass ihr auch sehr gute Ergebnisse bei der Geschwindigkeit erhaltet.
Der Code zum öffnen der Tabelle sieht dann so aus:
Code:

Set TB = DB.OpenRecordset("MailAccounts", dbOpenTable)

„MailAccounts“ ist der Name unserer Tabelle und danach steht der Modus den wir gewählt haben.
Nun haben wir vollen Zugriff auf die Tabelle „MailAccounts“

3. Einträge in der Datenbank erstellen.

Erstellt euch für den Anfang mal zwei Textboxen und einen Button auf eurer Form.
Eine Textbox für die Mail Adresse und eine für das dazugehörige Passwort.
Dann macht ihr einen Doppelklick auf den Button und hier schreiben wir nun unseren Code zum eintragen der Daten in die Datenbank.

Code:

Dim xMail as string, xPass as string
xMail = Text1.Text 'Wir übergeben die Adresse aus Text1.Text an die Variable xMail
xPass = Text2.Text 'Wir übergeben das Passwort an die Variable xPass
  With Tb
   .Index = "MailIndex" 'Hier setzen wir den Index. Somit lässt sich viel schneller suchen.
   .Seek Chr(61), xMail 'Hier starten wir die Suche
   If .NoMatch Then 'Hier fragen wir ab, ob ein Eintrag gefunden wurde.
    .AddNew 'Falls nicht, dann fügen wir jetzt einen neuen hinzu.
    !mail = xMail 'Mail wird übergeben
    !password = xPass 'Pass wird übergeben
    .Update 'Refresh der Datenbank
   End If
 End With


So. Das sieht jetzt nach relative viel Code aus. Das liegt aber nur daran, dass ich zusätzlich überprüfen lasse ob schon ein Eintrag mit der selben Mail Adresse existiert in der Datenbank. Falls nicht, wird der Eintrag erstellt, ansonsten nicht.
Die Stelle „.Seek Chr(61), xMail“ muß ich noch näher erklären.
Chr(61)“ steht für das Zeichen „=“. Ihr könnt zwar auch “=“ schreiben. Aber auf meine Weise ist es etwas schneller. Wink
Was dieses Zeichen bewirkt sollte eigentlich auch leicht zu verstehen sein. Es wird ganz einfach nach dem exakten Eintrag gesucht. Ihr könnt auch andere Operatoren wir z.B. „<“ oder „>“ benutzen.
„.NoMatch“ wird als True zurückgegeben wenn kein Eintrag in der DB gefunden wurde.
Ihr könntet auch „if .NotMatch = True“ schreiben, aber so wie ich es schreibe ist es wiederum schneller.

Einträge übergeben könnt ihr mit „TB!Spaltenname“. In unserem Fall also „TB!mail“ bzw. „!mail“.
Man könnte auch „TB.Fields("mail")“ schreiben, aber meine Weise ist etwas schneller.

So könnt ihr also Einträge erstellen und Doppelte verhindern.


4. Bestimmte Einträge suchen und anzeigen.

Jetzt wollen wir eine Art Suchfunktion einbauen, wobei einem dann das Passwort zu dem gesuchten Account angezeigt wird.
Macht also einfach einen weiteren Button womit wir die Suche starten können.
In diesem fügt ihr diesen Code ein:
Code:

Dim xMail As String
xMail = Text1.Text
  With TB
   .Index = "MailIndex"
   .Seek Chr(61), xMail
   If Not .NoMatch Then  'Wenn ein Eintrag gefunden wurde wird er an Text2.Text übergeben.
     Text2.Text = !password
   Else
     Call MsgBox("Leider nicht gefunden.")
   End If
 End With
 

Ist im Grunde fast das selbe wie oben, außer dass wir jetzt nicht einen Eintrag erstellen sondern, dass wir etwas aus der DB auslesen.
Die Zeile mit „If Not .NoMatch then“ kann etwas verwirrend sein. Im Grunde heißt das nicht anderes als „Wenn Nicht .KeinTreffer = Wahr Dann“. Wenn es also nicht True sondern False ist, dann hat er einen Eintrag in der DB gefunden.

Zuletzt zeige ich euch noch wie man sich in der Tabelle bewegt. Wir machen einfach eine Funktion die uns alle Einträge aus der Tabelle ausliest und in ein ListView einträgt.



5. In der Datenbank bewegen.

Erstellt euch dazu ein ListView mit dem Namen „lv“ und einen weiteren Button. Ihr könnt diesen Code aber auch in Form_Load schreiben. Vergesst nicht im ListView Spalten zu erstellen.

Hier noch ein paar Erklärungen:
TB.RecordCount (Gibt die Anzahl aller Einträge in der Tabelle zurück.) Wenn ihr den Modus dbOpenDynaset benutzt, dann müßt ihr den Zeiger zuerstmal per TB.MoveLast auf den letzten Eintrag setzen, da ihr sonst nicht den korrekten Wert erhaltet.

TB.AddNew (Fügt einen Datensatz hinzu)
TB.Update (Aktualisiert die Tabelle)
TB.MoveFirst (Zeiger springt zum Anfang der Tabelle)
TB.MoveNext (Zeiger springt zum nächsten Eintrag)
TB.MovePrevious (Zeiger springt zum vorherigen Eintrag)
TB.MoveLast (Zeiger springt zum letzten Eintrag)
TB.Delete (Löscht einen Eintrag/Datensatz)
TB.BOF (Ist True wenn der Zeiger am Anfang der Tabelle steht) (Beginning of file)
TB.EOF (Ist True wenn der Zeiger am Ende der Tabelle steht) (End of file)

Mit diesen Informationen können wir nun den Code erstellen.
Code:

Dim dbcount As Long, i As Long
If Not Tb.BOF Then Tb.MoveFirst 'Falls der Zeiger nicht am Anfang der Tabelle steht wird er dort hinbewegt.
dbcount = Tb.RecordCount 'Wir ermitteln wieviele Datensätze unsere DB hat.
For i = 1 To dbcount
With lv.ListItems.Add
  .Text = Tb!mail
  .SubItems(1) = Tb!Password
  If Not Tb.EOF then Tb.MoveNext
End With
Next i


So. Das war es wiedermal.
Ich hoffe ich konnte euch das programmieren mit Datenbanken etwas näher bringen und zeigen das es eigentlich sehr einfach ist.

Hf, ZiG
_________________


Zuletzt bearbeitet von ZiG_ am 19.12.2007, 10:33, insgesamt 2-mal bearbeitet
 
Viktor
« Webmaster »<b><font color=red>« Webmaster »</fo



Anmeldedatum: 08.12.2006
Beiträge: 354
Wohnort: Berlin


Verfasst am: 06.08.2007, 13:49

Da hier keiner Postet schreib ich dir mal was dazu.

Ich finde dein Paper wie die anderen auch mehr als gelungen.
Hab dabei selber noch viel gelernt, da ich mich mit Datenbanken noch nicht beschäftigt habe.

Bleibt nur die Frage warum keiner antwortet, villeicht weil es nichts mit Viren, Trojanern oder Floodern zu tun hat? Rolling Eyes

Mach auf jeden Fall weiter so, ich freu mich schon auf dein nächstes Paper.

MfG,
enco
 
Amethyst_
Poster
Poster

Anmeldedatum: 24.02.2007
Beiträge: 172


Verfasst am: 06.08.2007, 13:52

Jo ganz vergessen zu antworten. Surprised
Man sieht, dass du dir echt Mühe gegeben hast. Man versteht alles, und ich denke auch, dass DAO ein wichtiges Thema ist.

Freue mich auf dein nächstes Tut!
_________________
 
Bahamut_
« Moderator »<b><font color=green>« Moderator »</font



Anmeldedatum: 12.12.2006
Beiträge: 250


Verfasst am: 06.08.2007, 13:56

Zitat:
Bleibt nur die Frage warum keiner antwortet, villeicht weil es nichts mit Viren, Trojanern oder Floodern zu tun hat?


Du willst doch deiner Community nichts vorwerfen oder? Wink

Dass ZiG´s Tuts gelungen sind trifft natürlich wie immer zu, nur ich hab es nicht gelesen, weil ich bisher keine Datenbank gebraucht habe und ich werde es machen wenn ich es brauche.

Wenn ich das Tut jetzt lese aber nix dazu programmiere, lern ich nix dabei und vergess wieder viel. Deshalb wart ich lieber bis ich ne Datenbank brauche.

Das nächste Problem ist, dass bei Vb.Net das ganze warscheinlich ganz anders funktionieren wird, aber das ist ne andere Sache ^^
_________________
VB.Net-Compiler: http://www.microsoft.com/germany/express/download/default.aspx
VB.Net-eBook: http://www.galileocomputing.de/openbook/visual_basic/
 
Viktor
« Webmaster »<b><font color=red>« Webmaster »</fo



Anmeldedatum: 08.12.2006
Beiträge: 354
Wohnort: Berlin


Verfasst am: 06.08.2007, 13:58

Bahamut hat Folgendes geschrieben:
Zitat:
Bleibt nur die Frage warum keiner antwortet, villeicht weil es nichts mit Viren, Trojanern oder Floodern zu tun hat?


Du willst doch deiner Community nichts vorwerfen oder? Wink


Wie käme ich denn dazu, blos weil ich die Hits der Threads verglichen habe?
Nein natürlich nicht Laughing
 
r4z3r_
« Webmaster »<b><font color=red>« Webmaster »</fo



Anmeldedatum: 06.02.2007
Beiträge: 252


Verfasst am: 06.08.2007, 14:24

ok dann bekommste deinen post;)

habs mir nicht durchgelesen weil ich im urlaub war
und nach den ferien war der thread dann anscheinend ganz weit unten^^

habs aber nachgeholt, dein paper ist echt gut! man versteht so ziemlich alles Very Happy
hoffe da kommen bald weitere von dir

mfg
 
ZiG_
Überflieger
Überflieger

Anmeldedatum: 07.03.2007
Beiträge: 1248


Verfasst am: 06.08.2007, 14:50

Hoppla! Was ist denn hier los?
Doch ein paar die sich dafür interessieren.^^
_________________
Wer nicht auf seine Weise denkt, denkt überhaupt nicht. (Oscar Wilde)
 
TheCoder_
Überflieger
Überflieger



Anmeldedatum: 31.12.2006
Beiträge: 359
Wohnort: Essen


Verfasst am: 11.08.2007, 19:07

Wer hätts gedacht das ich sowas mal brauche, aber naja wirklich ein gutes Tut Zig (wie immer im grunde)
allerdings hab ich ein paar fragen. Ich hab mir jetzt auch ne Datenbank gemacht und muss diese auslesen/durchsuchen.
Wofür sind .index und was muss man setzen bei anderen Datenbanken und warum immer !mail oder !password
EDIT;// das mit dem index is geklärt aber was macht man wenn man ne Table ohne index hat oder wie findet man das überhaupt raus?
_________________
 
ZiG_
Überflieger
Überflieger

Anmeldedatum: 07.03.2007
Beiträge: 1248


Verfasst am: 11.08.2007, 20:07

Wenn du eine Datenbank per Visual Data Manager öffnest, müsstest du sehen können ob ein Index für eine oder mehrere Spalten erstellt wurde oder nicht.
Ob man das im Programm irgendwie auslesen kann weiß ich nicht.

Per "Seek" kann man nur in Indexierten Spalten suchen. Dafür ist diese Methode aber extrem schnell.
Wenn du keinen Index benutzen willst, dann mußt du eine andere Methode wählen, wie du die Datenbank öffnest.

Normal benutzt man "OpenDynaset". Und zum suchen dann die Funktionen "FindFirst, FindNext, FindLast, FindPrevious" etc.

Beispiel:
[vb:1:0b3b9dc0b9]
Set Tb = Db.OpenRecordset("MailAccounts", dbOpenDynaset)
Tb.FindFirst ("Spaltenname=" & "'" & WonachGesuchtWerdenSoll & "'")
If Tb.NoMatch Then
'Nicht gefunden
Else
'Gefunden
End If
[/vb:1:0b3b9dc0b9]


Die Schreibweise !mail nutze ich, da es angeblich noch etwas schneller sein soll als, tb.Fields("mail"). Bei beiden Schreibweisen greift man auf die Spalte mail zu, auf die der Zeiger in der Datenbank gerade zeigt.

Edit//
Einen Index in der Datenbank zu benutzen erhöht die Geschwindigkeit übrigens enorm.
Wäre schon wichtig einen zu setzen.

mfg
_________________
Wer nicht auf seine Weise denkt, denkt überhaupt nicht. (Oscar Wilde)
 
TheCoder_
Überflieger
Überflieger



Anmeldedatum: 31.12.2006
Beiträge: 359
Wohnort: Essen


Verfasst am: 11.08.2007, 20:14

Ok danke. Werd mal schauen wie sich das verhält. Bei fragen wirste nochmal von mir hören ^^

EDIT:// hoffe mal das du das noch liest ^^
Ich hab das jetzt mit den Index verstanden und benutzt und ja du hast recht es ist erheblich schneller. Meine frage wäre jetzt wie kann man mehrere Spalten aufeinmal durchsuchen. ICh hab erst mehrere indexiert nur dann kam immer nicht gefunden. Wenn ich eine Indexiere geht es vorrausgesetzt es ist die richtige. Also wie könnte ich jetzt alle durchsuchen?
_________________
 
Elrohir_
Tutorial Leser
Tutorial Leser

Anmeldedatum: 10.09.2007
Beiträge: 59


Verfasst am: 19.09.2007, 17:58

Hallo und erst einmal danke für das Tutorial.
Hat zumindest mir sehr weitergeholfen, vor allem, da ich gerade an einem Projekt arbeite, wo ich datenbanken benötige...

Ich habe auch alles verstanden, und hinbekommen ausser den letzten Abschnitt...
an der Stelle beim auflisten des Inhaltes der Datei sagt er mir an der stelle

Code:
With lv_Friendlist.ListItems.Add
  .Text = TB!Name
  .SubItems(1) = TB!Passwort
  .SubItems(2) = TB!Anmeldedatum
End With


dass bei der Zeile .SubItems(1) = TB!IP ein ungültiger Eigenschaftswert herrschen würde...
hm, ist vielleicht nen dämliches Beispiel... wozu man die Datenbank da bräuchte ist mir auch noch unklar xD , aber es geht mir mehr allgemein um den Fehler, wenn ich versuche, mehrere Subitems aufzulisten....
 
r4z3r_
« Webmaster »<b><font color=red>« Webmaster »</fo



Anmeldedatum: 06.02.2007
Beiträge: 252


Verfasst am: 19.09.2007, 19:35

Du musst für Listitems auch einen Index angeben:

[vb:1:ff335a142e] lv_Friendlist.ListItems(Index).SubItems(1) = "Text" [/vb:1:ff335a142e]

Also hat dein Problem nix mit der db zu tun sondern mit dem lv^^, egal

ps: mein instinkt sagt mir das du danach ein neues Problem haben wirst xD
_________________
 
ZiG_
Überflieger
Überflieger

Anmeldedatum: 07.03.2007
Beiträge: 1248


Verfasst am: 19.09.2007, 21:04

Nein er muß keinen Index angeben, da er ja einen Eintrag im ListView erstellt.

Ich würde mal eher sagen, dass du im ListView einfach vergessen hast die nötigen Spalten zu erstellen, oder es in der Datenbank einfach nicht die Spalte "IP" gibt.


@TheCoder

Hast recht. Ich habs nicht mehr gelesen^^.
Ich weiß es leider auch nicht genau. Hab ich bisher nicht gebraucht.
Aber ich denke schon, das man beim Index erstellen einfach mehrere Spalten angibt.
Das darf man ja auch, also muß es ja irgendwie so gehen.
_________________
Wer nicht auf seine Weise denkt, denkt überhaupt nicht. (Oscar Wilde)
 
r4z3r_
« Webmaster »<b><font color=red>« Webmaster »</fo



Anmeldedatum: 06.02.2007
Beiträge: 252


Verfasst am: 20.09.2007, 11:44

hmm hast recht, hat nichts mit dem Index zu tun.
_________________
 
Alpha63_
Newbie
Newbie

Anmeldedatum: 05.12.2007
Beiträge: 2


Verfasst am: 13.03.2008, 15:45

nice tut

frage mit dem listeview

wie geht das also ist das ein botton oder ein label oder was ist damit gemeind???



und kann man die datenbank auch anschliesend an eine e-mail adresse senden so ne art backup versteht sich
 
ZiG_
Überflieger
Überflieger

Anmeldedatum: 07.03.2007
Beiträge: 1248


Verfasst am: 13.03.2008, 15:48

Was mit ListView gemeint ist?
Ist einer ListBox ähnlich.
Findest du bei den "Microsoft Common Controls 6.0"


Die Datenbank ist eine Datei. Also kannst du die Datei auch versenden.
_________________
Wer nicht auf seine Weise denkt, denkt überhaupt nicht. (Oscar Wilde)
 
regenz11_
Coder
Coder



Anmeldedatum: 29.07.2007
Beiträge: 77


Verfasst am: 17.03.2008, 13:12

Also Zig macht die besten Tutorials die ich jeh im meinem Leben gesehen habe ! Immer 1a ! Danke !
_________________
 
Maybe_
Newbie
Newbie

Anmeldedatum: 17.03.2008
Beiträge: 2


Verfasst am: 17.03.2008, 17:09

bei dem "Set" kommt bei mir Compile Error: Invalid outsite procedure?

dachte das hat was mit dem verweis zu tun, aber den habe ich bereits überprüft und der ist korrekt.
 
ZiG_
Überflieger
Überflieger

Anmeldedatum: 07.03.2007
Beiträge: 1248


Verfasst am: 17.03.2008, 17:34

Schreibst du den Teil auch innerhalb einer Prozedur?
_________________
Wer nicht auf seine Weise denkt, denkt überhaupt nicht. (Oscar Wilde)
 
Maybe_
Newbie
Newbie

Anmeldedatum: 17.03.2008
Beiträge: 2


Verfasst am: 17.03.2008, 19:11

wie meinst du das? ich dachte ich soll das mit den anderen befehlen ganz an den anfang stellen und daraufhin die anderen sachen machen. ich hab dich mal in icq geaddet, hab noch nicht soviel erfahrung und will mich hier nicht unbedingt zum deppen machen Razz. vielleicht kannst du mir da ja antworten
 
ZiG_
Überflieger
Überflieger

Anmeldedatum: 07.03.2007
Beiträge: 1248


Verfasst am: 17.03.2008, 19:22

Zitat:
Und nun übergeben wir an DB den Pfad zur Datenbank. Am besten schreibt ihr das in Form_Load.
Code:

Set Db = OpenDatabase(App.path & "\mailaccounts.mdb")

_________________
Wer nicht auf seine Weise denkt, denkt überhaupt nicht. (Oscar Wilde)
 
swordfish123456_
Tutorial Leser
Tutorial Leser

Anmeldedatum: 15.08.2007
Beiträge: 66


Verfasst am: 30.03.2008, 16:42

ich finde dein tutorial auch super gelungen ^^
ne , sehr gut sogar xD

aber mich würde das ganze noch mit MySQL interessieren =O

falls jemand mal zeit & lust , bzw zeit & zeit hat könnte er ja genau so ein tutorial wie Zig machen ,bloss mit MySql =)

das wäre nicq Wink

mfg
super tutorial =)
mfg
 
marcel1994_
Coder
Coder

Anmeldedatum: 08.02.2008
Beiträge: 202


Verfasst am: 30.04.2008, 22:15

so ich programmiere gerade ein kleines kassensystem mit diesem TuT hier. Ich finds auch super Zig muss ich echt sagen! Also, was mein problem ist, ist, dass ich nicht weiß, wie ich einen eintrag löschen soll. Hier mein Code dazu (denke mal völlig falsch, also lachen erlaubt xD):

Code:
With TB
    .Delete
    !S_N = artikel
    !preis = preis
    !Beschreibung = descr
    .Update
 End With


Eig kann das ja auchgarnicht funzen, da ja nochkein datensatz eingespeichert ist aber naja ... hoffe auf schnelle hilfe.
_________________


 
ZiG_
Überflieger
Überflieger

Anmeldedatum: 07.03.2007
Beiträge: 1248


Verfasst am: 30.04.2008, 23:40


Nur ".Delete" genügt.
Du mußt den richtigen Eintrag vorher natürlich suchen, oder zumindest den Zeiger in der Db per Movefirst, last, next oder previous an die richtige position bewegen.
Dann einfach .Delete und der Eintrag ist gelöscht.


Un ähmm, ja. Wenn noch nichts drinnen ist, wird das löschen natürlich nicht gehen.
_________________
Wer nicht auf seine Weise denkt, denkt überhaupt nicht. (Oscar Wilde)
 
Neues Thema eröffnen   Neue Antwort erstellen    Visual Basic Forum Foren-Übersicht -> [VB6] Texte und Ebooks

Tags: opendynaset, datenbank, visual, tutorial, index, geschwindigkeit

 
 Verwandte Themen   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Wie kann ich mich bei euch anmelden?? 387 20.05.2002, 01:28
Keine neuen Beiträge Eine kleine Frage an euch.. 373 30.09.2007, 09:57
Keine neuen Beiträge TopMost Funktion unter DirectX 432 27.07.2007, 11:48
Keine neuen Beiträge Wie Funktion nutzen ? 540 29.06.2007, 21:59
Keine neuen Beiträge update funktion einbauen 741 29.01.2007, 00:11
 



[ Time: 0.9784s ][ Queries: 176 (0.0743s) ][ GZIP on - Debug on ]