Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Visual Basic und MSflexgrid

Frage Entwicklung Visual Studio

Mitglied: ComputerhelferFerdi

ComputerhelferFerdi (Level 1) - Jetzt verbinden

28.02.2008, aktualisiert 29.02.2008, 8853 Aufrufe, 12 Kommentare

Hallo
Hat jemand eine Ahnung ob es bei dem MSFlexgrid Steuerelement VB6 eine Begrenzung der Zeilen und Spalten gibt. Ich habe die
Erfahrung gemacht irgendwo bei 6000 Rows geht nichts mehr, bräuchte aber so ca 80000 Zeilen.

Ferdi Neuhaus
Mitglied: misterdemeanor
28.02.2008 um 15:48 Uhr
Grüß Dich Ferdi,

laut Microsoft ist das MSFlexGrid auf 350.000 Zellen begrenzt KB191006. Wenn Du aber tatsächlich nur 6000 Zeilen ins Control bekommst, und nicht etwa knapp 60 Spalten hast, liegt es wohl am fehlenden RAM.

BG, Felix -misterdemeanor-
Bitte warten ..
Mitglied: misterdemeanor
28.02.2008 um 16:09 Uhr
Wenn Du ein ADO RS verwendest hilft Dir vielleicht dieses Microsoft How-To weiter.

BG, Felix -misterdemeanor-
Bitte warten ..
Mitglied: ComputerhelferFerdi
28.02.2008 um 17:46 Uhr
Na ja 2 GB Ram sollten ja wohl reichen. Dann werd ich mal woanders nach nem Fehler suchen.

Ferdi
Bitte warten ..
Mitglied: misterdemeanor
28.02.2008 um 18:05 Uhr
Hi,

was für eine Datenquelle benutzt Du denn für das FlexGrid? Wird nur Text angezeigt oder auch Bilder?
Bitte warten ..
Mitglied: ComputerhelferFerdi
28.02.2008 um 18:37 Uhr
Ich zapfe die DSN an.
Dort lege ich verschiedene Verbindungen an, dann brauch ich nur noch mit VB auf die DSN zuzugreifen. Ich habe eigendlich nur vor Inhalte von Tabellen auszulesen und da sind 2 dabei die halt einbisschen länger sind (ca 65000) Zeilen. Nach 6000 Zeilen sagt mir das Prog, es kann nicht mehr ins Flexgrid schreiben.

Ferdi
Bitte warten ..
Mitglied: misterdemeanor
28.02.2008 um 19:02 Uhr
Ich zapfe die DSN an.

?? Wie jetzt?

Dort lege ich verschiedene Verbindungen an,

wo ist dort? Im ODBC Admin?

dann brauch ich nur noch mit VB auf die DSN
zuzugreifen.

In einer DataEnvironment? Rein vom Code aus? Über ein DataControl?

Ich habe eigendlich nur vor
Inhalte von Tabellen auszulesen

^^Dann sage bitte wie genau Du das momentan machst.

BG, Felix -misterdemeanor-
Bitte warten ..
Mitglied: ComputerhelferFerdi
28.02.2008 um 19:22 Uhr
Morgen im Laufe des Vormittag schick ich mal den Quellcode den ich bis jetzt habe.

Muss jetzt gospeln gehen.

Ferdi
Bitte warten ..
Mitglied: ComputerhelferFerdi
29.02.2008 um 06:47 Uhr
Moin
So sieht der Quellcode aus, bitte nicht an der Unordnung stören , bin halt noch am rumprobieren
Wenn ich bei diesem Gebilde eine Tabelle mit mehr als 6000 Zeilen einlesen, Anzahl der Spalten weiss ich nicht, gibts eine Fehlermeldung.


Ferdi

*
Public Sub Form_load()
Dim Conn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim sql As String
Dim viel As Long
Dim vielzeilen As Long
Dim i As Long
Dim nRow As Long


Set Conn = New ADODB.Connection
Conn.Provider = "MSDASQL"
Conn.Mode = adModeRead
Conn.CursorLocation = adUseClient

Conn.Open "Provider=MSDASQL;DSN=????"
Set rs = New ADODB.Recordset
rs.CursorLocation = adUseClient

Set rs.ActiveConnection = Conn
rs.CursorType = adOpenForwardOnly
rs.LockType = adLockReadOnly

rs.Open "select distinct table_schema from information_schema.tables"

'Datenbank auswählen und Connection ändern

i = 0
For i = 0 To rs.Fields.Count - 1
Text1.Text = rs.Fields(i).Value
Next i


'Flexgrid füllen
viel = rs.Fields.Count
With MSFlexGrid1

' Zählvariable für die aktuelle Zeile
nRow = 0
.Rows = rs.RecordCount + 1
While Not rs.EOF
nRow = nRow + 1
i = 0
For i = 0 To rs.Fields.Count - 1
' ' Aktuellen Wert ins FlexGrid kopieren
.TextMatrix(nRow, i) = rs.Fields(i).Value
.Col = i 'Spalte zuweisen
Next i
' auch hier gibt es ein "MoveNext"
rs.MoveNext
Wend

If .Row > 0 Then .Row = 1
.Enabled = (.Rows > 1)

End With

'Recordset schließen
rs.Close
Set rs = Nothing

'Connection schließen
Conn.Close
Set Conn = Nothing

End Sub
Bitte warten ..
Mitglied: misterdemeanor
29.02.2008 um 10:32 Uhr
Hallo Ferdi,

als erstes mal ein Hinweis auf die Formatierungshilfe


Wenn ich bei diesem Gebilde

Gebilde ist das richtige Wort.

eine Tabelle mit mehr als 6000 Zeilen einlesen,

6000 Databases (Schemata) [oder doch sogar 65000 wie vorher mal angedeutet] auf einem einzigen MySQL-Server?

Anzahl der Spalten weiss ich nicht,
...
rs.Open "select distinct table_schema from information_schema.tables"

Vielleicht nochmal genau hinschauen, dann weißt Du wie viele Spalten.

gibts eine Fehlermeldung.

Die Du uns warum vorenthältst?

BTW

rs.CursorType = adOpenForwardOnly

Wenn ich mich nicht irre hat die [Recordset].RecordCount-Prop bei einem ADO Recordset mit Vorwärtscursor standardmäßig den Wert -1

[MSFlexGrid1].Rows = rs.RecordCount + 1

könnte somit auch schon einen Fehler auslösen.

Naja, zum restlichen Gebilde sage ich besser auch nichts *g

BG, Error---Username not specified----Refill Coffee
Bitte warten ..
Mitglied: ComputerhelferFerdi
29.02.2008 um 10:59 Uhr
Hier die Fehlermeldung:

Laufzeitfehler '30006'
Reservieren von Speicher für Flex Tabelle nicht möglich



.Rows = rs.RecordCount + 1

Wenn ich mit der Maus über "rs.RecordCount" gehe zeigt mir das Kontextmenue 75606 an
aber wie gesagt die Meldung kommt auch schon bei einem Wert von 8000


Das ich nicht soviel Tabellen weis ich selbst, hatte nur bei dem Quellcode eine andere SQL-Abfrage aktiv, das ist aber doch nebensächlich da ihr ja auch nicht die Datenbank habt.


Ferdi
Bitte warten ..
Mitglied: misterdemeanor
29.02.2008 um 11:22 Uhr
Hier die Fehlermeldung:

Laufzeitfehler '30006'
Reservieren von Speicher für Flex
Tabelle nicht möglich

Was in dem KB-Artikel behandelt wird den ich im ersten Post schon verlinkt habe.

Wenn Zeilen*Spalten größer als 350.000 dann Reservieren von Speicher für Flex Tabelle nicht möglich

Entweder Du beschränkst Dich im SELECT auf die relevanten Daten, nutzt den TIPP den ich im zweiten Post bereits verlinkt hatte, oder erwägst mal das MS DataGrid Control zu verwenden.
Bitte warten ..
Mitglied: ComputerhelferFerdi
29.02.2008 um 12:12 Uhr
Ich muss gestehen ich hatte das * zwischen den Zahlen nicht geshen, nachdem ich das aber bemerkt habe erschliest sich auch mir die Problematik, multiplizieren von Spalten und Zeilen ergibt den Vaktor der nicht über 350000 sein darf. Na da werd ich doch mal das MS DataGrid versuchen.

Besten Dank bis hier
Werde das mal Anfang der Woche versuchen, am Wochenende ist das so müssig


Ferdi
Bitte warten ..
Ähnliche Inhalte
VB for Applications
gelöst Visual Basic persönliche MSTSC Verbindung (3)

Frage von florianza zum Thema VB for Applications ...

Visual Studio
gelöst Remotedienst prüfen mit Visual Basic (1)

Frage von flyingmichael zum Thema Visual Studio ...

Visual Studio
Mit Visual Basic auf Shopware 5 API zugreifen (9)

Frage von SmogKiel zum Thema Visual Studio ...

Neue Wissensbeiträge
Tipps & Tricks

Wie Hackt man sich am besten in ein Computernetzwerk ein

(29)

Erfahrungsbericht von Herbrich19 zum Thema Tipps & Tricks ...

Humor (lol)

Bester Vorschlag eines Supporttechnikers ever: APC

(15)

Erfahrungsbericht von DerWoWusste zum Thema Humor (lol) ...

Windows Server

Exchange 2010 Active Directory und Windows Server 2016

(4)

Erfahrungsbericht von Herbrich19 zum Thema Windows Server ...

Heiß diskutierte Inhalte
Internet
gelöst Mitarbeiter surft auf unerwünschter Seite - Wie damit umgehen? (44)

Frage von sabines zum Thema Internet ...

Netzwerke
Wie erstelle ich ein Intranet (19)

Frage von Leonardnet zum Thema Netzwerke ...

LAN, WAN, Wireless
gelöst Eintägige Netzwerkunterbrechung trotz Backupleitung (15)

Frage von iAmbricksta zum Thema LAN, WAN, Wireless ...

Windows Server
Server 2012 R2 - Zugriff Verweigert bei jeglicher Tätigkeit (13)

Frage von DarkLevi zum Thema Windows Server ...