vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Top-Preis! AP-Access-Tools-CD Volume 1  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB & Datenbanken
Per ADO und Array Datensätze schreiben 
Autor: Christian Peters
Datum: 16.12.04 16:39

Servus,

ich habe gerade mit Hilfe des Tips http://www.vbarchiv.net/archiv/tipp_1125.html meine DB (62 Felder) zu füllen. MIr schien es nur ein wenig aufwendig einen rießigen Code zu bauen um alle 62 Felder und alle 62 Werte per Array(..., ...) einzustragen.

Also dachte ich mir, erzeuge ich doch einfach einen rießen String und mache den per Array(smString) zum passendem Array.

Leider klappte das nie.

Hat jemand ne Idee wie ich das hinbekomme?

Danke,

Chris
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Per ADO und Array Datensätze schreiben 
Autor: Zero-G.
Datum: 16.12.04 17:50

Meinst Du vielleicht, alle Felder dynamisch aufzubauen?

Du kannst jedem Control einen "Tag" Wert zuweisen.

z.B Für SQL - Also Du hast z.B. ein Textfeld mit dem Namen txtName - das soll per SQL abgefragt werden - dann kannst Du dem txtName den Tagwert der SQL Datenbank geben also z.B. Tag = Name

& dann kannst Du Dir natürlich den SQL Dynamisch aufbauen

Also:

If txtName.Text<> "" Then
   sSQL = sSQL & txtName.Tag & " = " & txtName.Text & " AND "
End If
Das musst Du einmal für alle 62 Felder als Code schreiben - dann ist es aber egal welches Feld Du ansprichst - der SQL passt immer.

Es gibt vom Dieter diesbezüglich auch einen sehr guten Tipp - hab ihn aber leider jetzt nicht gefunden.

Ich hoffe - das ist es was Du gemeint hast - wenn nicht Sorry

mfg
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Per ADO und Array Datensätze schreiben 
Autor: Christian Peters
Datum: 17.12.04 07:36

Danke für den TIP aber mir geht es nicht darum einen SQL-String dynamisch zu erzeugen, das kann ich schon.

Es geht darum die felder ohne SQL in ein Recordset zu bekommen. Dafür kann man entwerder jedes einzelne Feld füllen oder über den Weg gehen den der Tip beschreibt den ich verlinkt habe.

Ich möchte nur folgendes bei dem Tip autauschen:
call omRec.Update(Array("Feld_1", "Feld_2", "Feld_3", ...), _
Array("Inhalt_1", CLng(Inhalt_2), CDate(Inhalt_3), ...))
durch
call omRec.Update(vmFields(), vmContent())
wobei ich die Arrays vmFields() und vmContent() natürlicih vorher füllen möchte.

Nur irgendwie klappt das nicht und ich will wissen warum das so ist.

Chris
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Per ADO und Array Datensätze schreiben 
Autor: Zero-G.
Datum: 18.12.04 13:30

Hey Cris

Der Update Befehl kanns ich meines Wissens immer nur auf ein bestimmtes Feld beziehen. (in diesem Fall). - Deshalb geht das Array hier nicht - wenn Du es als AddNew machst, müsste es funktionieren.

Aber warum nicht per SQL? - Das hat schon Vorteile - und ob Du 62 mal ein Array füllst, oder 62 mal ein SQL Statement bleibt ja egal (vom Programmieraufwand) - Und übersichtlicher ist das Ganze auch.

Denk mal Du musst in 5 Monaten da etwas umbasteln - viel spass beim wieder einlesen....

mfg
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Per ADO und Array Datensätze schreiben 
Autor: Christian Peters
Datum: 20.12.04 08:04

Hallo Zero,

das mit dem SQL habe ich auch schon überlegt. Man solls aber nicht glauben, bei ADO+MS Access ist der Recordset schneller (Wenn auch nicht vertrauenswürdiger).

Das mit dem Update und dem AddNew kann ich leider auch nicht ganz nachvollziehen denn der Update-Befehl wird ja immer ausgeführt (egal ob Edit oder AddNew), der Unterschied ist doch nur das ich zuvor einen neuen, leeren Datensatz erzeugt habe den ich nun mit neuen Daten "Updaten" will.

Chris
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Per ADO und Array Datensätze schreiben 
Autor: Zero-G.
Datum: 20.12.04 12:49

Hey

Auch wenn die Recordset Methode schneller ist als SQL würde ich davon mal weggehen - 2 Gründe: Den ersten hast schon selber geschrieben - nicht wirklich vertrauenswürdig - Der 2. Grund: Wenn Du mal umsteigen möchtest auf ein anderes DB Format - bist mit SQL voll dabei!

Ich kann mir schon vorstellens, dass da ein Unterschied ist zwischen Update & AddNew

Bei AddNew wird der komplette DBSPeicher freigesetzt und danach werden die Felder aktualisiert. - Bei ändern wird erst der DBSpeicher zur Verfügung gestellt (des Records) wenn er angesprochen wird - also durch angabe des Feldes!

mfg
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel