vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
sevDataGrid - Gönnen Sie Ihrem SQL-Kommando diesen krönenden Abschluß!  
 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.NET - Fortgeschrittene
Dokument auswaehlen und speichern mit OpenFileDialog 
Autor: ERBRU
Datum: 14.10.18 14:02

habe eine tabelle in der zu einer ausgewählten Row in eine Tabelle "Ablagedokumente" gespeichert werden soll.

Tabelle Ablagedokumente:

ID = Autowert (eindeutiger Wert Int32)
Dokument = String (Name des Dokumentes Auswahl)
Dokumentenart = String (Anlage: Angebot, Lieferschein, Kostenvoranschlag etc.) Zuweisung
abgelegtam = DateTime (Datum an dem Dokument abgelegt wurde)
Ablagedetails = (ID Int32 aus Fremdtabelle, die ausgewaehlte Datarow) kann ein oder mehr Dokumente haben.

nun möchte ich ein Dokument auswaehlen und speichern in einen Ordner?

also aus der Quelle kopieren in einen ZielOrdner speichern Dateiname in Tabelle ablegen, DGV auflisten.

Danke euch, hoffe habt verstanden was ich möchte?
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Dokument auswaehlen und speichern mit OpenFileDialog 
Autor: effeff
Datum: 14.10.18 23:03

//Danke euch, hoffe habt verstanden was ich möchte?//

Mit Sicherheit nicht!

Fangen wir ganz vorsichtig an...

//Dokument = String (Name des Dokumentes Auswahl) //

Da steht ein kompletter Pfad drin?

//also aus der Quelle kopieren in einen ZielOrdner speichern Dateiname in Tabelle ablegen, DGV auflisten. //

Du möchtest das in der Tabelle mit komplettem Pfad hinterlegte Dokument irgendwohin speichern und in einem DataGridView, welches zufälligerweise mit der Tabelle verbunden ist, den Zielpfad dokumentieren?

//Ablagedetails = (ID Int32 aus Fremdtabelle, die ausgewaehlte Datarow) kann ein oder mehr Dokumente haben. //

Die zu speichernde Datei kann zigmal gespeichert werden und immer unter anderem Namen und deswegen hast Du dafür eine eigene Tabelle?

Findest Du auch, dass die Welt eine Scheibe ist, die auf vier Elefanten steht, welche wiederum auf der großen Weltraumschildkröte Groß A'Tuin stehen?

EALA FREYA FRESENA

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Dokument auswaehlen und speichern mit OpenFileDialog 
Autor: ERBRU
Datum: 15.10.18 13:25

OK kann ich verstehen, habe das mal so probiert.

erhalte die Info: Der Pfad hat ein ungültiges Format.

möchte nur den Dateiname speichern!


  Private Sub btn_Neues_Dokument_Click(sender As Object, e As EventArgs) _
    Handles btn_Neues_Dokument.Click
        BSAblagedokumente.AddNew()
 
    End Sub
    Private Sub btn_Dokument_Hinzufuegen_Click(sender As Object, e As _
      EventArgs) Handles btn_Dokument_Hinzufuegen.Click
        Kopiere_Datei(OFD_Starten)
    End Sub
    'Datei holen
    Private Function OFD_Starten() As String
        Using ofd As New OpenFileDialog
            With ofd
                .InitialDirectory = Environment.CurrentDirectory
                .Filter = "Alle Dateien| *.*"
                .FileName = ""
                .CheckFileExists = True
                .CheckPathExists = True
                Dim dlgResult As DialogResult = ofd.ShowDialog()
                If dlgResult = Windows.Forms.DialogResult.OK Then
                    Return IO.Path.GetFullPath(ofd.FileName)
                End If
                Return Nothing
            End With
        End Using
    End Function
    'Datei kopieren
    Private Function Kopiere_Datei(ByVal FileName As String)
        Try
            Me.Cursor = Cursors.WaitCursor
            Dim Ordner_Ziel = get_Dokumente_Ablage_Ordner(CInt( _
              tbIDDatarow_Ablagedetails.Text))
            Dim fi_Quelle As New FileInfo(IO.Path.GetFileNameWithoutExtension( _
            ofd.FileName))
            Dim fi_Ziel As New FileInfo(IO.Path.Combine(Ordner_Ziel, _
            IO.Path.GetFileNameWithoutExtension(ofd.FileName)))
            DokumentTextBox.Text = FileName
            'falls Ordner gelöscht wurde, Ordner erstellen
            create_Dokumente_Ablage_Ordner(CInt(tbIDDatarow_Ablagedetails.Text))
            fi_Quelle.CopyTo(fi_Ziel.FullName, True)
            'IO.File.Copy(FileName, String.Concat(Ordner_Ziel, 
            ' IO.Path.DirectorySeparatorChar, IO.Path.GetFileName(FileName)))
 
 
 
            'Speichern
            Me.Validate()
            BSAblagedokumente.EndEdit()
            dict_BS_Pos.Clear()
            dict_BS_Pos.Add(BSAblagedokumente, BSAblagedokumente.Position)
            mod_Saver.SaveDataset(Me.AblageDB, dict_BS_Pos, _
              AblagedokumenteTableAdapter.Adapter)
            AblagedokumenteDataGridView.Refresh()
            'speichern beendet
            Me.Cursor = Cursors.Default
        Catch ex As Exception
            MessageBox.Show(ex.Message.ToString)
        End Try
    End Function
 
#Region "Dokumente Ordner prüfen/erstellen"
    Private Function get_Dokumente_Ablage_Ordner(ByVal AblageID As Integer) As _
      String
        Return IO.Path.Combine(Ordner_Dokumente_Ablage, AblageID.ToString)
    End Function
    Private Function create_Dokumente_Ablage_Ordner(ByVal AblageID As Integer) _
      As Boolean
        Dim pfad_Gesamt As String = IO.Path.Combine(Ordner_Dokumente_Ablage, _
        AblageID.ToString)
        If Not IO.Directory.Exists(pfad_Gesamt) Then _
        IO.Directory.CreateDirectory(pfad_Gesamt)
        Return True
    End Function
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Dokument auswaehlen und speichern mit OpenFileDialog 
Autor: ERBRU
Datum: 15.10.18 15:16

Zusatz Info:

Beitrag wurde zuletzt am 15.10.18 um 15:20:31 editiert.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Dokument auswaehlen und speichern mit OpenFileDialog 
Autor: Franki
Datum: 16.10.18 00:04

Hallo
Zitat:

OK kann ich verstehen, habe das mal so probiert.
erhalte die Info: Der Pfad hat ein ungültiges Format.


Um das zu kontrollieren, kannst du dir doch den Pfad/Ordner/Verzeichnis vorher mal irgendwie ausgeben lassen und kontrollieren, ob es den auch wirklich gibt bzw. ob dein Programm da überhaupt Schreibberechtigung hat.

Zitat:


möchte nur den Dateiname speichern!


Eine Datei alleine kann man nur innerhalb eines Dateisystems speichern. Dazu gehört nun mal der komplette Pfad damait das Betriebssystem die Datei auch speichern bzw. wieder finden kann. Stell dir mal vor du speicherst die Datei 4711.txt mehrfach irgendwo ohne Angebe wor genau sie gespeichert ist. Wie willst du sie dann später wieder finden.

Stell dir vor du speicherst in deinem Navi im Auto z.B. Hauptstrasse 10. Wie willst du später dorhin zurück finden? Hautpstrasse 10 gibt es zig mal in Deutschland, das würde genau so wenig funktionieren wie eine Datei ohne genau Ortsangabe im Dateisystem zu spreichern.

Gruß
Frank
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Dokument auswaehlen und speichern mit OpenFileDialog 
Autor: Kuno60
Datum: 16.10.18 01:53

Hallo Franki,

es ist nicht falsch, in einer Datenbank nur den Dateinamen oder einen relativen Pfaden zu speichern. Mit IO.Path.Combine() kann man dann den vollständigen Pfad zusammen setzen.
Das wird in vielen Anwendungen verwendet, wenn der Benutzer selbst festlegen kann, in welchem Ordner das Programm Daten finden, oder Daten ablegen, soll. So kann man auch mal einen Ordner auf ein anderes Laufwerk kopieren, ohne dass es Probleme mit dem Pfad gibt.
Teilweise hat ERBRU das richtig gemacht, auch wenn ich in seinem Code nicht so richtig durchblicke...
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Dokument auswaehlen und speichern mit OpenFileDialog 
Autor: ERBRU
Datum: 16.10.18 06:41

OK, das soll der Speicherort der Datei sein

Quelle: OFD Openfiledialog ?

Ziel: "..\Ablagearchiv\IDAblagedetails"

Datei wählen und speichern, zuvor noch zuweisen Angebot, Lieferschein etc.

IDAblagedetails ist ein Integer (Ordner) der die Datei bekommt.
So finde ich die Datei auch im Ablagearchiv wieder
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Dokument auswaehlen und speichern mit OpenFileDialog 
Autor: ERBRU
Datum: 16.10.18 13:10

Hallo zusammen,

das check ich nicht wie ich es anfange komme ich so nicht ans Ziel.

https://picload.org/view/dcdcrwri/anhang_speichern_2.png.html



per DragDrop funktioniert das.
Doch hier nun soll der user eine Datei auswählen können und die in den Ordner
kopieren (ablegen)



  'Datei kopieren
    Private Function Kopiere_Datei(ByVal FileName As String)
        Dim _overwrite As Boolean = False
        Dim AblageID As Integer
        AblageID = CInt(AblagedetailsIDTextBox.Text)
        DokumentTextBox.Text = FileName
        Me.Cursor = Cursors.WaitCursor
        Try
 
            Dim Ordner_Ziel = get_Dokumente_Ablage_Ordner(AblageID)
            Dim fi_Quelle As New FileInfo(IO.Path.GetFileNameWithoutExtension( _
              ofd.FileName))
            Dim fi_Ziel As New FileInfo(IO.Path.Combine(Ordner_Ziel, _
            IO.Path.GetFileNameWithoutExtension(ofd.FileName)))
 
            If fi_Ziel.Exists Then
                Dim Abfrage_Result As DialogResult = MessageBox.Show( _
                    String.Concat("Eine Datei mit diesem Namen ist bereits" & _
                    "vorhanden: ", fi_Ziel.Name, Environment.NewLine, "Die" & _
                    "vorhandene Datei überschreiben?"), _
                    "Sicherheits-Abfrage", _
                    MessageBoxButtons.YesNo, MessageBoxIcon.Question, _
                    MessageBoxDefaultButton.Button2)
 
                If Abfrage_Result = System.Windows.Forms.DialogResult.No Then
                    Return False
                ElseIf Abfrage_Result = System.Windows.Forms.DialogResult.Yes _
                  Then
                    _overwrite = True
                End If
            End If
 
            'falls Ordner gelöscht wurde, Ordner erstellen
            create_Dokumente_Ablage_Ordner(AblageID)
 
 
            fi_Quelle.CopyTo(fi_Ziel.FullName, True)
 
 
 
            Dim Dokument As AblageDB.AblagedokumenteRow
 
            If _overwrite = True Then
 
                'Datensatz suchen, der überschrieben werden soll
                Dim DS = From Eintrag In BS_Ablagedokumente_Liste
                         Where Eintrag.Dokument.ToLower = fi_Ziel.Name.ToLower
                         Select Eintrag
 
                If DS.Count = 0 Then Return False
                Dim BSpos = BS_Ablagedokumente_Liste.ToList.IndexOf(DS.First)
 
                Dokument = BS_Ablagedokumente_TypRow(BSpos)
                Dokument.Dokument = fi_Ziel.Name
            Else
 
                'Speichern
                Me.Validate()
                BSAblagedokumente.EndEdit()
                dict_BS_Pos.Clear()
                dict_BS_Pos.Add(BSAblagedokumente, BSAblagedokumente.Position)
                mod_Saver.SaveDataset(Me.AblageDB, dict_BS_Pos, _
                  AblagedokumenteTableAdapter.Adapter)
                AblagedokumenteDataGridView.Refresh()
            End If
            'speichern beendet
            Me.Cursor = Cursors.Default
        Catch ex As Exception
            MessageBox.Show(ex.Message.ToString)
        End Try
    End Function
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Dokument auswaehlen und speichern mit OpenFileDialog 
Autor: effeff
Datum: 16.10.18 14:36

Du lässt Dir die Dateinamen ohne Extension ausgeben und willst dann diese Angabe als Fullname nehmen?

ofd soll ein OpenFileDialog sein?

Du willst doch sicherlich nicht den Dateinamen ohne Extension haben, sondern den simplen Dateinamen ohne Pfad, oder? Also

Dim SimpleFileName As String=System.IO.Path.GetFileName(Dateiname)

EALA FREYA FRESENA

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Dokument auswaehlen und speichern mit OpenFileDialog 
Autor: Manfred X
Datum: 16.10.18 15:15

Hallo!

MS-SQL-Server bietet in Kooperation nit dem NTFS-Dateisystem
weitere Möglichkeiten für das Verwalten von Dateien über
eine Datenbank: FILESTREAM-Typ
https://docs.microsoft.com/de-de/sql/2014/relational-databases/blob/filestream-sql-server?view=sql-server-2017

Beitrag wurde zuletzt am 16.10.18 um 15:16:20 editiert.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Dokument auswaehlen und speichern mit OpenFileDialog 
Autor: ERBRU
Datum: 16.10.18 15:22

Hallo und Danke,

ofd soll ein OpenFileDialog sein? Ja

Du willst doch sicherlich nicht den Dateinamen ohne Extension haben, sondern den simplen Dateinamen ohne Pfad, oder? Ja.

die Datei soll ja dann in den Ordner kopiert werden
ich muss nun schauen was ich mit deiner Zeile anfangen soll? (Dateiname) ?

damit es nun auch mal funktioniert. seit 4h kein Erfolg
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Dokument auswaehlen und speichern mit OpenFileDialog 
Autor: effeff
Datum: 16.10.18 18:16

Okay, damit das für Dich verständlicher wird:

Dim SimpleFileName As String=System.IO.Path.GetFileName(ofd.FileName)
Und jetzt reicht es eigentlich schon, Quelle und Ziel als String zu deklarieren und mit "System.IO.File.Copy(Quelle, Ziel) zu kopieren:
Dim Quelldatei As String=ofd.FileName
Dim Zieldatei As String=System.IO.Path.Combine(Ordner_Ziel, SimpleFileName)
 
System.Io.File.Copy(Quelldatei, Zieldatei)

EALA FREYA FRESENA

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Dokument auswaehlen und speichern mit OpenFileDialog 
Autor: ERBRU
Datum: 16.10.18 20:28

nee leider nicht, leerer Dateiname

vieleicht hat ManfredX eine Idee?
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Dokument auswaehlen und speichern mit OpenFileDialog 
Autor: Kuno60
Datum: 16.10.18 21:04

Hallo ERBRU,

wieso hast du in der Funktion "Kopiere_Datei" ofd verwendet?
Du übergibst doch den Dateinamen per Argument und ofd ist doch nur in der Function OFD_Starten() deklariert.
Interessant ist auch, String in String umwandeln:
MessageBox.Show(ex.Message.ToString)
Hab ich wieder was gelernt


So könnte es funktionieren:
  Private Sub btn_Dokument_Hinzufügen_Click(sender As Object, e As EventArgs) _
    Handles btn_Dokument_Hinzufügen.Click
    Kopiere_Datei(OFD_Starten)
  End Sub
 
  'Datei auswählen
  Private Function OFD_Starten() As String
    Using ofd As New OpenFileDialog
      With ofd
        .InitialDirectory = Environment.CurrentDirectory
        .Filter = "Alle Dateien| *.*"
        .FileName = ""
        .CheckFileExists = True
        .CheckPathExists = True
        If .ShowDialog() = DialogResult.OK Then
          Return .FileName
        End If
      End With
    End Using
    Return Nothing
  End Function
 
  'Datei kopieren
  Private Function Kopiere_Datei(FileName As String) As Boolean
    If String.IsNullOrWhiteSpace(FileName) Then Return False
 
    Dim _overwrite As Boolean = False
 
    Dim AblageID = CInt(AblagedetailsIDTextBox.Text)
    DokumentTextBox.Text = FileName
    Me.Cursor = Cursors.WaitCursor
 
    Try
      Dim Ordner_Ziel = get_Dokumente_Ablage_Ordner(AblageID)
 
      Dim fi_Quelle As New IO.FileInfo(FileName)
      Dim fi_Ziel As New IO.FileInfo(IO.Path.Combine(Ordner_Ziel, _
        fi_Quelle.Name))
 
      If fi_Ziel.Exists Then
        Dim Abfrage_Result As DialogResult = MessageBox.Show( _
            String.Concat("Eine Datei mit diesem Namen ist bereits" & _
            "vorhanden: ", fi_Ziel.Name, Environment.NewLine, "Die" & _
            "vorhandene Datei überschreiben?"), _
            "Sicherheits-Abfrage", _
            MessageBoxButtons.YesNo, MessageBoxIcon.Question, _
            MessageBoxDefaultButton.Button2)
 
        If Abfrage_Result = System.Windows.Forms.DialogResult.No Then
          Return False
        ElseIf Abfrage_Result = System.Windows.Forms.DialogResult.Yes Then
          _overwrite = True
        End If
      End If
 
      'falls Ordner gelöscht wurde, Ordner erstellen
      create_Dokumente_Ablage_Ordner(AblageID)
 
      fi_Quelle.CopyTo(fi_Ziel.FullName, True)
 
      '...
 
      Me.Cursor = Cursors.Default
    Catch ex As Exception
      MessageBox.Show(ex.Message)
    End Try
  End Function


Beitrag wurde zuletzt am 16.10.18 um 21:08:43 editiert.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Dokument auswaehlen und speichern mit OpenFileDialog 
Autor: effeff
Datum: 17.10.18 10:27

Himmelarschundzwirn...

WELCHER Dateiname ist leer? Lass Dir doch nicht alle Informationen einzeln aus der Nase ziehen sondern beschreibe einfach, wo zum Teufel Du Probleme hast!

Lass Dir doch per Messagebox z. B. Deine Variableninhalte ausgeben, damit Du genau beschreiben kannst, wo es hakt!

EALA FREYA FRESENA

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Dokument auswaehlen und speichern mit OpenFileDialog 
Autor: ERBRU
Datum: 17.10.18 20:10

Danke, ich melde mich spaeter noch mal

muss wirklich sauberer arbeiten.
im Prinzip funktioniert es ja, wie KUNO geschrieben hat
ich muss mal schauen warum er nichts in meine Tabelle schreibt. Speichert nicht mehr obwohl erst mal alles OK aussieht im Einzelschritt wird alles abgefahren, der Datensatz wird jedoch nicht hinzugefšgt-

wie gesagt ich melde mich ausfšhrlicher dazu, muss man doch hinkriegen.

Danke
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Dokument auswaehlen und speichern mit OpenFileDialog 
Autor: Franki
Datum: 18.10.18 01:15

Hallo Kuno,

natürlich ist das richtig was du da beschreibst.
Ich hatte das aber so verstanden, dass letztendlich nichts im Dateisystem gespeichert werden kann wegen des ungültigen Pfads. Dass dieser aus Dateiname in der DB und sonstigen Informationen zusammengebaut wird habe ich wohl überlesen.

Aber deswegen ja mein Hinweis sich alles per z.B. Messagebox Schritt für Schritt ausgeben zu lassen.
Und ganz wichtig ist auch eine Fehlerbehandlung bzw. diese auszuwerten. Denn der Speichervorgang kann trotz physikalisch (zusammengebautem) Pfad daran scheitern, dass keine Schreibberechtigung vorhanden ist, nicht genügend Platz auf dem Datentraeger vorhanden ist usw. usw.

Ich würde das Problem versuchen darauf zu reduzieren, ob es am DB Teil liegt oder am Speichervorgang selbst.

Gruß
Frank
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Dokument auswaehlen und speichern mit OpenFileDialog 
Autor: ERBRU
Datum: 18.10.18 18:43

erst mal soweit passt es nun endlich, auch wird gespeichert dort lag das Problem.

genaueres spćter, da muss noch etwas optimiert werden.

PS habe alles noch mal gemacht die Form fšr die Dokumente schritt fšr schritt. So bin ich auf das "Speicher Problem" gesto'en
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Dokument auswaehlen und speichern mit OpenFileDialog 
Autor: Franki
Datum: 19.10.18 01:32

Hallo,

da sieht man mal wieder wie gut akriebische Analyse Schritt für Schritt zur Lösung führen kann.
So etwas ist aber eigentlich grundlegendes Handwerkszeug eines Programmierers, egal ob als Hoppy oder gewerblich.

Es wäre schön, wenn du Feedback geben würdest was zur Problemlösung letztendlich gefürht hat und wie du auf die Lösung gekommen bist. Das würde mit Sicherheit auch anderen Lesern hier helfen.

Gruß
Frank
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Dokument auswaehlen und speichern mit OpenFileDialog 
Autor: ERBRU
Datum: 19.10.18 06:24

Na Ja, die Lösung bei mir war eben die Bindingsource die ich bedingt durch die 2Form nicht speichern konnte erst wenn ich die geschlossen habe wurde der Datensatz hinzugefügt, geändert. das Dokument wurde schon vor dem Datensatz Zugriff gespeichert, danach habe ich ein Dialog Result OK gesetzt 2Form geschlossen und alles Gut.

Nachteil dabei ist das man die Form erneut aufrufen muss um weitere Dokumente zu speichern
aber ich weiß nicht ob das wirklich die Lösung ist. Funktioniert nur für neues Dokument Überschreiben eines vorhandenen Dokuments will noch nicht funktionieren, das sollte man prüfen sonst legt man zu jedem Vorgang die gleichen Dokumente ab.den Code dazu habe ich weiter unten mal angehängt.Evtl. muss ich in dem Fall auch ein Dialog Result OK geben? Form schließen.


'2Form aufrufen
Using frm As New frmAblagedokumente
            With frm
                .BSAblagedokumente.DataSource = AblageDB
                .IDDatarowAblagedetail.Text = CInt( _
                  BS_Ablagedetails_TypRow.ID).ToString
                .tbVorgangDatarow_Ablagedetails.Text = Convert.ToString( _
                BS_Ablagedetails_TypRow.Vorgang)
                .tberfasstamDatarow_Ablagedetails.Text = Convert.ToDateTime( _
                BS_Ablagedetails_TypRow.Erfasstam).ToShortDateString
 
                .ShowInTaskbar = True
                .BringToFront()
                .TopMost = False ' True
                .ShowDialog(Me)
                If .DialogResult = Windows.Forms.DialogResult.OK Then
                    Me.Cursor = Cursors.WaitCursor
                    Update_Abfrage(Tabellenname.Ablagedokumente)
                    'speichern
                    Me.Validate()
                    BSAblagedokumente.EndEdit()
                    dict_BS_Pos.Clear()
                    dict_BS_Pos.Add(BSAblagedokumente, _
                      BSAblagedokumente.Position)
                    mod_Saver.SaveDataset(Me.AblageDB, dict_BS_Pos, _
                    AblagedokumenteTableAdapter.Adapter)
                    Me.Cursor = Cursors.Default
                    MessageBox.Show("Speicher Vorgang abgeschlossen", "Speicher" & _
                      "Vorgang", MessageBoxButtons.OK, _
                      MessageBoxIcon.Information)
                    Me.Show()
                End If
 
            End With
        End Using
'Überschreiben wenn Dokument vorhanden


  'falls Ordner gelöscht wurde, Ordner erstellen
        create_Dokumente_Ablage_Ordner(AblageID)
 
        fi_Quelle.CopyTo(fi_Ziel.FullName, True)
 
        Dim Dokument As AblageDB.AblagedokumenteRow
        If _overwrite = True Then
 
            'Datensatz suchen, der überschrieben werden soll
            Dim DS = From Eintrag In BSAblagedokumente_Liste
                         Where Eintrag.Dokument.ToLower = fi_Ziel.Name.ToLower
                         Select Eintrag
 
            If DS.Count = 0 Then Return False
            Dim BSpos = BSAblagedokumente_Liste.ToList.IndexOf(DS.First)
 
            Dokument = BSAblagedokumente_TypRow(BSpos)   'hier geht es dann 
            ' nicht weiter
            Dokument.Dokument = fi_Ziel.Name
        Else
            BSAblagedokumente.AddNew()
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Dokument auswaehlen und speichern mit OpenFileDialog 
Autor: Franki
Datum: 20.10.18 01:28

Hallo,

grundsätzlich ist es notwendig dem eigenene Programm auch die Zeit zu geben die es braucht um Befehle zu verarbeiten wenn man eine Rückmeldung erhalten möchte ob das geklappt hat oder nicht. Oft ist es so, dass der Programmcode schneller abgearbeitet wird als Windows / eine Datenbank usw. das macht.#

Ich kann dir bei dem konkreten Problem zwar nicht helfen, abre ich spreche aus Erfahrung:

Immer prüfen, immer warten, immer kontrollieren. Nur wenn alles erledigt ist, dann weiter im Programmcode.

Das theoretzische Ergebnis weicht oft vom realen Ergebnis ab. Das war immer schon so wenm es sich um Datenbanken, Netzwerkverbindungen, Ergebnissse vom Webserver, Abarbeitungen von serverseitigen Scripts usw. handelt. DAs wird auch immer so sein. Ganz zu schweigen von Download / Uplaoad Features der eigenen Software.

Wenn die Dauer kalkulierbar ist dann eine Warteschleife, bzw. angemessenen Zeitraum verwenden. Ansonsten Rückmeldungen / Fehlermeldungen auswerten wenn sie eintreffen.

Gruß
Frank
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