vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
sevAniGif - als kostenlose Vollversion auf unserer vb@rchiv CD Vol.5  
 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

ADO.NET / Datenbanken
Hilfe! Datagridview mit Excel 
Autor: Magnuson1969
Datum: 19.06.11 09:31

Hallo,

ich habe folgendes Problem.

Ich hbe meine Exceltabelle in ein Datagridview übergeben und lasse mir die jeweils wichtigen Zeilen in Textboxfeldern anzeigen.

Was auch super funktioniert.

Num möchte ich aber das Datagridview Zeilenweise, mit Button´s, vor und zurückblättern.
(Wie es mit Access funktioniert weis ich. Excel hat kein Databindngs und Dataset)
( und mit VB 10 lässt sich auch keine Exceltabelle aufrufen)

Dadurch würden sich auch die Zeileninformationen ändern, was ja auch in Ordnung ist.

Nur wie mache ich das?

Ich möchte diese Änderungen auch in den dazugehörigen Textboxen sehen.

Der Versuch mit CurrenyManager ist nicht mit Erfolg gekrönt und ich stehe momentan auf einen sehr dicken Schlauch.

Ich hoffe Ihr könnt mir einen guten Tipp oder einen Lösungsansatz zeigen.

Vielen Dank im Vorraus
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Hilfe! Datagridview mit Excel 
Autor: ModeratorDaveS (Moderator)
Datum: 19.06.11 10:47

Ich hbe meine Exceltabelle in ein Datagridview übergeben

Toll, nur sind Excel Tabellen und DGVs aus ganz unterschiedlichen Welten, und sowas verlangt einiges an Code. Wir wißen aber nicht welchen Code du verwendest, um eine Erweiterung sinnvoll vorschlagen zu können.

Excel hat kein Databindngs und Dataset

Und? Dein DGV wird unter .Net laufen, nicht unter Excel.

________
Alle Angaben ohne Gewähr. Keine Haftung für Vorschläge, Tipps oder sonstige Hilfe, falls es schiefgeht, nur Zeit verschwendet oder man sonst nicht zufrieden ist

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Hilfe! Datagridview mit Excel 
Autor: Magnuson1969
Datum: 19.06.11 12:14

Hallo,

erstmal Danke das Du Dich gemeldet hast.

Mit dem Hinweis von Databindings und Dataset, wollte ich nur zum Austruck bringen, dass es mit dieser Befehlsanweisung unter Excel nicht funktioniet um vor oder zurückzublättern.

Das DGV und Excel untersschiedlich sind, ist mit schon bewußt.

Mein Code:

Imports System.Data
Imports System.Data.Common
Imports Excel = Microsoft.Office.Interop.Excel
Imports System.Data.OleDb
Imports System.IO
Imports System.Data.SqlClient
Imports Microsoft.Office.Core
 
Public Class Form2
  Private dt As New DataTable
  Private Sub btnGridLaden_Click(ByVal sender As System.Object, ByVal e As _
    System.EventArgs) _
                                        Handles btnGridLaden.Click
 
    ' Excel-Tabelle anzeigen
    Dim oDs As System.Data.DataSet
    Dim oConn As System.Data.OleDb.OleDbConnection
    Dim oAdapter As System.Data.OleDb.OleDbDataAdapter
 
    ' Pfad und Tabellennamen bitte anpassen!
    Dim sFile As String = "F:\Zeugnis\Zeugnisse\_Formular" & _
      "CJD-Ergebnisse_X-Test-Prf1.xls"
    Dim sTable As String = "Gesamtübersicht"
 
    ' Connection-String für die DB.Verbindung zur Excel-Datei
    Dim sConn As String = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
      "Data Source=" & sFile & ";" & _
      "Extended Properties=Excel 8.0;"
 
    ' Connection herstellen
    oConn = New System.Data.OleDb.OleDbConnection(sConn)
 
    ' Excel-Tabelle referenzieren
    ' Hinweis: Tabellenname muss mit abschließendem $-Zeichen und
    ' in eckigen Klammern stehen
    oAdapter = New System.Data.OleDb.OleDbDataAdapter( _
      "SELECT * FROM [" & sTable & "$]", oConn)
 
    ' DataSet erstellen und mit Daten aus dem DataAdapter füllen
    oDs = New System.Data.DataSet
    Try
      oAdapter.Fill(oDs)
 
      ' DataGrid füllen und Daten anzeigen
      With dgvExcel
        .DataSource = oDs.Tables(0)
        .ReadOnly = True
        .Refresh()
      End With
    Catch ex As Exception
      MsgBox("Fehler beim Anzeigen der Excel-Daten!")
    Finally
      ' DB-Verbindung schließen
      oConn.Close()
    End Try
 
    '_____________________Adresse 
    ' übertragen_______________________________________________
 
    txtNr.Text = Me.dgvExcel.Item(rowIndex:=2, columnIndex:=0).Value.ToString
    txtVorname.Text = Me.dgvExcel.Item(rowIndex:=2, _
      columnIndex:=8).Value.ToString
    txtName.Text = Me.dgvExcel.Item(rowIndex:=2, columnIndex:=1).Value.ToString
 
    '________________________1. 
    ' Zwischenprüfung_____________________________________________
 
    'txtBWL.Text = Me.dgvExcel.FirstDisplayedCell = 
    ' Me.dgvExcel.CurrentCell.Value.ToString
 
    txtBWL.Text = Me.dgvExcel.Item(rowIndex:=2, columnIndex:=9).Value.ToString
    txtDB.Text = Me.dgvExcel.Item(rowIndex:=2, columnIndex:=12).Value.ToString
    txtIT.Text = Me.dgvExcel.Item(rowIndex:=2, columnIndex:=15).Value.ToString
    txtVB.Text = Me.dgvExcel.Item(rowIndex:=2, columnIndex:=18).Value.ToString
    txtElektro.Text = Me.dgvExcel.Item(rowIndex:=2, _
      columnIndex:=21).Value.ToString
    txtWISO.Text = Me.dgvExcel.Item(rowIndex:=2, columnIndex:=24).Value.ToString
    txtNZ.Text = Me.dgvExcel.Item(rowIndex:=2, columnIndex:=27).Value.ToString
    txtProg.Text = Me.dgvExcel.Item(rowIndex:=2, columnIndex:=30).Value.ToString
    txtEng.Text = Me.dgvExcel.Item(rowIndex:=2, columnIndex:=33).Value.ToString
 
    Dim Erg(7) As Integer
    Dim x As Integer
    Dim Zahl1 As Integer
 
    Erg(0) = Val(txtBWL.Text)
    Erg(1) = Val(txtDB.Text)
    Erg(2) = Val(txtIT.Text)
    Erg(3) = Val(txtVB.Text)
    Erg(4) = Val(txtElektro.Text)
    Erg(5) = Val(txtWISO.Text)
    Erg(6) = Val(txtNZ.Text)
    Erg(7) = Val(txtProg.Text)
    '___________________________Mittelwert 
    ' berechnen_________________________________________
 
    For x = 0 To 7
      If Erg(x) > 0 Then
 
        Zahl1 = Zahl1 + 1
 
      End If
    Next x
 
    ' txtZahl.Text = Zahl1
 
    txtSchnitt.Text = Math.Round((Val(txtBWL.Text) + Val(txtDB.Text) + Val( _
      txtIT.Text) + _
                                 Val(txtVB.Text) + Val(txtElektro.Text) + Val( _
                                 txtWISO.Text) + _
                                 Val(txtNZ.Text) + Val(txtProg.Text)) / Zahl1, _
                                 2)
  End Sub
 
 
  Private Sub btnTest_Click(ByVal sender As System.Object, ByVal e As _
    System.EventArgs) _
                            Handles btnTest.Click
 
      If dgvExcel.CurrentRow.Index < dgvExcel.RowCount Then
 
      Me.dgvExcel.Rows(dgvExcel.RowCount - 1).Selected = True
 
    End If
    ' MsgBox(dgvExcel.RowCount)
 
  End Sub
End Class
Wie bringe ich das vor und zurückblättern hier rein?
Und wie kann ich es dann den Textboxen übergeben?

Gruß und Danke
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Hilfe! Datagridview mit Excel 
Autor: ModeratorDaveS (Moderator)
Datum: 19.06.11 12:33

Es geht darum, dass wir nicht wissen wie du alles machst wenn du nur schreibst wie toll es funktioniert.

Du machst das grundsätzlich falsch. Du hast ja eine DataTable und kannst auch für die TextBoxen Databindng benutzen, wie bei dem DGV, und keine Zellenwerte abkratzen.
Private oBs As BindingSource
oBs = New BindingSource(oDs.Tables(0), Nothing)
.DataSource = oBs
Wenn du Werte manipulieren willst nimmst du die Daten aus der DataTable, wobei oBs.Current immer den aktuellen Satz darstellt (als DataRowView). Sowas ist dann etwas sauberer.
Scrollen machst du mit den BindingSource-Methoden wie .MoveNext(), MovePrevious() usw.

________
Alle Angaben ohne Gewähr. Keine Haftung für Vorschläge, Tipps oder sonstige Hilfe, falls es schiefgeht, nur Zeit verschwendet oder man sonst nicht zufrieden ist

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Hilfe! Datagridview mit Excel 
Autor: Manfred X
Datum: 19.06.11 13:04

Hallo!

Füge Doch bitte in Zukunft die Code-Tags ein.
Das Posting ist sonst sehr schlecht lesbar ....
(siehe unten den Button "VB-Code".)

MfG
Manfred
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