Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

strukturierte Stückliste importieren und per VBA mit Datenfüllen

Begonnen von Atuatuca, Oktober 10, 2015, 21:16:18

⏪ vorheriges - nächstes ⏩

Atuatuca

Hallo Access-O-Maniacs,

ich möchte eine strukturierte Tabelle importieren und dann per VBA / SQL einige Daten in dieser Tabelle nachtragen um danach die Daten in andere Tabelle zu übertragen.

Die Tabellen-Struktur sieht wie folgt aus

Level    Artikel     Stueckliste
1          1235
1          2568
2          5689
3          7854
3          9856
1          2145
2          3652
3          5432

usw....

Habe es so versucht

        Set db = CurrentDb                 ' Datenbank definieren
        Set rs = db.OpenRecordset("tblImport_Stuecklisten_neu") 'Tabelle definieren und öffnen
       
        var_form = "123456"
       
        If Not rs.EOF Then rs.MoveFirst         ' gehe zum ersten Datensatz
       
            Do While Not rs.EOF
                If rs.Fields("Level") = "1" Then
                    rs.Edit
                    rs.Fields("Stueckliste") = var_form
                    rs.Update
               
                End If
               
                    rs.MoveFirst
                   
                If rs.Fields("Level") > 1 Then
                    rs.MovePrevious
                    stl = rs.Fields("Sachnummer")
                    rs.MoveNext
                    rs.Edit
                    rs.Fields("Stueckliste") = stl
                    rs.Update
                End If
   
                rs.MoveNext
               
                Loop
         
         rs.Close
         Set rs = Nothing
         Set db = Nothing



aber das Ergebnis sieht dann so aus

Level    Artikel     Stueckliste
1          1235       123456
1          2568       123456
2          5689       2568
2          1689       5689
3          7854       1689
3          9856       7854
3          1856       9856
1          2145       123456
2          3652       2145
3          5432       3652

Das Ergebnis sollte so aussehen

Level    Artikel     Stueckliste
1          1235       123456
1          2568       123456
2          5689       2568
2          1689       2568
3          7854       1689
3          9856       1689
3          1856       1689
1          2145       123456
2          3652       2145
3          5432       3652

Wäre für Hilfe dankbar

el_gomero

Moinsen,

bitte immer den vollständigen Code angeben - bei dir fehlt zB der Deklarationsteil, das Feld Sach hast du verschwiegen. Ein Update nach deinen Vorstellungen sollte so funktionieren, wenn die Felder vom Wert Zahl sind:


Public Sub ErgaenzeDaten()
Dim db as DAO.Database, rs as DAO.Recordset
Dim dblStl as Double, dblSach as Double

       Set db = CurrentDb                 ' Datenbank definieren
       Set rs = db.OpenRecordset("tblImport_Stuecklisten_neu") 'Tabelle definieren und öffnen
       
      db.execute "UPDATE tblImport_Stuecklisten_neu " & _
"SET Stueckliste = 123456 " & _
"WHERE Level=1"
       
        If Not rs.EOF Then rs.MoveFirst         ' gehe zum ersten Datensatz
        Do Until rs.eof
                If Isnull(rs!Stuckliste) then
rs.Edit
rs!Stueckliste = dblStl
        rs.Update
                Else
rs.Edit
rs!Stueckliste = dblSach
        rs.Update
End If
dblStl = rs!Stueckliste
                dblSach = rs!Sach
rs.MoveNext
        Loop
         
         rs.Close
         Set rs = Nothing
         Set db = Nothing

End Sub
Gruß
Jürgen


Hilfe nach bestem Wissen, ohne Anspruch auf Richtigkeit und Vollständigkeit.
*feedback erwünscht*
Bitte Tipps lesen

Atuatuca

Moin Jürgen (El Gomero),

erst einmal danke für die schnelle Hilfe.

die Spalte "Sach" gibt es gar nicht, nur die Spalte "Sachnummer".

Dim dblStl as Double, dblSach as Double

Heist dass die Variablen dblStl und dblSach as Zahl laufen und nicht als Text ?

Es gibt aber auch Sachnummern mit Buchstaben drin und was nun ?
doch als String deklarieren ?

Ich werde es mal versuchen, genauso mit den Zahlen.

Gruss
Atuatuca (von der Ostseeküste)

Atuatuca

funktioniert leider nicht.

anbei eine Tabelle wie das Ergebnis sein sollte.


Gruss
Atuatuca (von der Ostseeküste)

el_gomero

Zitat
Heist dass die Variablen dblStl und dblSach as Zahl laufen und nicht als Text ?

genau das, ist ja auch so deklariert.

Zitat
Es gibt aber auch Sachnummern mit Buchstaben drin und was nun ?
doch als String deklarieren ?

Hättest du gleich verraten können - genau dann muss die Variable eben ein String werden.

Zitat
Ich werde es mal versuchen, genauso mit den Zahlen.

Und wie sieht dein Code jetzt aus?
Gruß
Jürgen


Hilfe nach bestem Wissen, ohne Anspruch auf Richtigkeit und Vollständigkeit.
*feedback erwünscht*
Bitte Tipps lesen

Atuatuca

        Set db = CurrentDb                 ' Datenbank definieren
        Set rs = db.OpenRecordset("tblImport_Stuecklisten_neu") 'Tabelle definieren und öffnen
       
        CurrentDb.Execute "UPDATE tblImport_Stuecklisten_neu " & _
                            "SET Stueckliste = 123456 " & _
                            "WHERE Level='1'"
       
        If Not rs.EOF Then rs.MoveFirst         ' gehe zum ersten Datensatz
            Do Until rs.EOF
                If IsNull(rs!Stueckliste) Then
                    rs.Edit
                    rs!Stueckliste = stl
                    rs.Update
                Else
                    rs.Edit
                    rs!Stueckliste = sachnr
                    rs.Update
                End If
                   
        Loop
         
         rs.Close
         Set rs = Nothing
         Set db = Nothing


stl und sachnr sind mit

Dim stl as String
Dim sachnr as String


deklariert

el_gomero

na dann probier mal:

Dim strStl as String, strSachnr as String

   Set db = CurrentDb                 ' Datenbank definieren
   Set rs = db.OpenRecordset("tblImport_Stuecklisten_neu")
       
    db.Execute "UPDATE tblImport_Stuecklisten_neu " & _
                       "SET Stueckliste = 123456 " & _
                       "WHERE Level='1'"
       
    If Not rs.EOF Then rs.MoveFirst         ' gehe zum ersten Datensatz
    Do Until rs.EOF
        If IsNull(rs!Stueckliste) Then
            rs.Edit
            rs!Stueckliste = strStl
            rs.Update
        Else
            rs.Edit
            rs!Stueckliste = strSachnr
            rs.Update
        End If
        ' diese Zuweisungen waren in meinen Code - warum hast du die weggelassen?
        strStl = rs!Stueckliste
strSachnr = rs!Sachnummer
rs.movenext
    Loop
         
    rs.Close
    Set rs = Nothing
    Set db = Nothing


und nochmal: immer die vollständige Prozedur posten !
Gruß
Jürgen


Hilfe nach bestem Wissen, ohne Anspruch auf Richtigkeit und Vollständigkeit.
*feedback erwünscht*
Bitte Tipps lesen

Atuatuca

#7
Hallo Jürgen,

leider funktioniert es immer noch nicht so wie ich möchte. Habe mal eine Excel angehängt, welche
das Ergebnis von deinem Code (Stückliste (ist) und so wie es sein sollte (Stückliste (soll).

ich versuche es mal in Worte zu fassen.


  • mache solange bis spalte Stueckliste nicht mehr leer ist
  • gehe zum 1. Datensatz
  • gehe zum Datensatz wo Wert in Spalte Level +1 (hier gleich 2) ist von 1. Datensatz
  • gehe zum vorherigen Datensatz
  • lese den Wert der Spalte Sachnummer aus und speichere ihn in "stl"
  • gehe zum nächsten Datensatz und schreibe in der Spalte Stueckliste den Wert welche er sich gerade geholt hat ("stl")
  • trage diesen Wert (stl) solange ein in Spalte Stueckliste ein, bis der Wert der Spalte Level größer oder kleiner ist als der aktueller Wert
  • wenn der Wert in Spalte Level höher ist, dann gehe 1 Datensatz zurück (level = level-1)
  • nehme den Wert der Spalte Sachnummer ("stl") und gehe zum nächsten Datensatz (level=level+1)
  • trage diesen Wert (stl) solange ein in Spalte Stueckliste ein, bis der Wert der Spalte Level größer oder kleiner ist als der aktueller Wert
  • ist der Wert der Spalte Level kleiner (level =level-1) dann gehe zurück bis zum Datensatz wo Level=level-1

Für den Fall dass Sachnummer kein Wert hat, sollte er ihn überspringen oder den Wert "N/A" eintragen.

Hier mein vollständiger Code (sicherlich verbesserungswürdig), bin aber noch ein Anfänger:

Private Sub cmd_Import_Stuecklisten_Click()
    Dim db As DAO.Database
    Dim rs As DAO.Recordset
    Dim Dateipfad As String
    Dim Datei As String
    Dim dlg As Object
    Dim var_form As String
    Dim i As String
    Dim stl As String
    Dim sachnr As String
    Dim level As String
    Dim level1 As String
     
    Set dlg = Application.FileDialog(3)
   
    'Titelzeile
    dlg.Title = "Bitte Exceldatei(en) auswählen !"
   
    'standardpfad
    dlg.InitialFileName = "E:\test\stücklisten\"
   
    'Mehrfachauswahl erlauben
    dlg.AllowMultiSelect = True
   
    'Button text
    dlg.ButtonName = "Importieren"
    dlg.Filters.Clear
   
    'Nur Dateien mit Endung .XLS* sichtbar
   
    'dlg.Filters.Add "CSV-Datei", "*.csv"
    dlg.Filters.Add "Excel-Datei", "*.xls*"
   
     
    If dlg.Show Then
        DoCmd.SetWarnings False

        Dateipfad = dlg.SelectedItems(1) 'Pfad in Variable
       
        Datei = Dir(Dateipfad)
        'DoCmd.TransferText acImportDelim, , "tblImport_Stuecklisten_neu", Dateipfad, True
        'DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel12, "tblImport_Stuecklisten_neu", Dateipfad, True
        DoCmd.TransferSpreadsheet acImport, , "tblImport_Stuecklisten_neu", Dateipfad, True
       
       'hier wird der Wert in der Spalte "Level" in eine reale Zahl um gewandelt
        Set db = CurrentDb                 ' Datenbank definieren
        Set rs = db.OpenRecordset("tblImport_Stuecklisten_neu") 'Tabelle definieren und öffnen
       
        DoCmd.OpenQuery "qryLevel_Normalisieren", acViewNormal
       
        If Not rs.EOF Then rs.MoveFirst         ' gehe zum ersten Datensatz
            Do While Not rs.EOF
                If rs.Fields("Level") = "0,2" Then
                    rs.Edit
                    rs.Fields("Level") = "2"
                    rs.Update
                End If
                 
               
               
                                   
                'Hier wird für jeden Datensatz eine ID generiert aus verschiedenen Spalten der Tabelle
                rs.Edit                               ' Wenn Daten im Datensatz geändert werden sollen
                rs.Fields("[ID_Temp_Stueckliste_Neu]") = rs!ID_Stueckliste_Neu & "_" & rs!Stueckliste & "_" & rs!sachnummer & "_REV_[0" & rs![Stü-ÄZ] & "]"
                rs.Update                             'Änderungen am / neuen Datensatz speichern
                           
                'Hier wird die Sachnummer und die Revisionsnummer in eine neue Spalte geschrieben
                rs.Edit                               ' Wenn Daten im Datensatz geändert werden sollen
                rs.Fields("[SachNr_Rev]") = rs!sachnummer & "-0" & rs![Stü-ÄZ]
                rs.Update                             'Änderungen am / neuen Datensatz speichern
               
                rs.MoveNext
           
            Loop
       
       
            rs.Close
            Set rs = Nothing
            Set db = Nothing
       
       
       
        Set db = CurrentDb                 ' Datenbank definieren
        Set rs = db.OpenRecordset("tblImport_Stuecklisten_neu") 'Tabelle definieren und öffnen
       
        CurrentDb.Execute "UPDATE tblImport_Stuecklisten_neu " & _
                            "SET Stueckliste = 123456 " & _
                            "WHERE Level='1'"
       

        If Not rs.EOF Then rs.MoveFirst         ' gehe zum ersten Datensatz
            Do Until rs.EOF
                If IsNull(rs!Stueckliste) Then
                    rs.Edit
                    rs!Stueckliste = stl
                    rs.Update
                Else
                    rs.Edit
                    rs!Stueckliste = sachnr
                    rs.Update
                End If
                ' diese Zuweisungen waren in meinen Code - warum hast du die weggelassen?
                stl = rs!Stueckliste
                sachnr = rs!sachnummer
                rs.MoveNext
            Loop
   
       
             
         rs.Close
         Set rs = Nothing
         Set db = Nothing
         
         

    End If



End Sub

el_gomero

Moin,

den Code habe ich mit Kommentaren versehen, vielleicht hilft dir das schon mal. Ansonsten bitte keine Excel-dateien hochladen, wenn dann die auf das Problem reduzierte Datenbank, komprimiert und gepackt - bevorzugt als mdb.


Private Sub cmd_Import_Stuecklisten_Click()
    Dim db As DAO.Database
    Dim rs As DAO.Recordset
    Dim Dateipfad As String
    Dim Datei As String    ' Bezeichner geändert
    Dim dlg As Object
    Dim var_form As String ' warum erhält ein String als Präfix var = Variant?
    Dim i As String ' warum erhält ein String als Präfix i = Integer?
    Dim stl As String ' warum mal mit mal ohne Präfix - mich verwirrt das beim Lesen des Codes
    Dim sachnr As String
    Dim level As String
    Dim level1 As String
     
    Set dlg = Application.FileDialog(3)
   
    'Titelzeile
    dlg.Title = "Bitte Exceldatei(en) auswählen !"
   
    'standardpfad
    dlg.InitialFileName = "E:\test\stücklisten\"
   
    'Mehrfachauswahl erlauben
    dlg.AllowMultiSelect = True
   
    'Button text
    dlg.ButtonName = "Importieren"
    dlg.Filters.Clear
   
    'Nur Dateien mit Endung .XLS* sichtbar
   
    'dlg.Filters.Add "CSV-Datei", "*.csv"
    dlg.Filters.Add "Excel-Datei", "*.xls*"
   
     
    If dlg.Show Then
        DoCmd.SetWarnings False

        Dateipfad = dlg.SelectedItems(1) 'Pfad in Variable
       
        Datei = Dir(Dateipfad)
        'DoCmd.TransferText acImportDelim, , "tblImport_Stuecklisten_neu", Dateipfad, True
        'DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel12, "tblImport_Stuecklisten_neu", Dateipfad, True
        DoCmd.TransferSpreadsheet acImport, , "tblImport_Stuecklisten_neu", Dateipfad, True
   
' Ende des eigentlichen Importvorgangs ab hier würde ich eine neue Prozedur für die Bearbeitung starten

        'hier wird der Wert in der Spalte "Level" in eine reale Zahl um gewandelt
        'wenn wirklich immer nur eine Zahl in dem Feld steht, könnte dies bereits über eine Importspezi als Zahlenfeld festgelegt werden
Set db = CurrentDb                 ' Datenbank definieren
        Set rs = db.OpenRecordset("tblImport_Stuecklisten_neu") 'Tabelle definieren und öffnen
       
        DoCmd.OpenQuery "qryLevel_Normalisieren", acViewNormal  ' wie sieht das SQL-Statement dieser Query aus?
       
        If Not rs.EOF Then rs.MoveFirst         ' gehe zum ersten Datensatz
            Do While Not rs.EOF
                If rs.Fields("Level") = "0,2" Then ' warum können Kommawerte in dem Feld stehen? - s.oben Importspezi
                    rs.Edit
                    rs.Fields("Level") = "2"
                    rs.Update
                End If
                 
' kommende Block könnte über eine Aktualisierungsabfrage realisiert werden - wozu soll das aber dienen?

                'Hier wird für jeden Datensatz eine ID generiert aus verschiedenen Spalten der Tabelle
                rs.Edit                               ' Wenn Daten im Datensatz geändert werden sollen
                rs.Fields("[ID_Temp_Stueckliste_Neu]") = rs!ID_Stueckliste_Neu & "_" & rs!Stueckliste & "_" & rs!sachnummer & "_REV_[0" & rs![Stü-ÄZ] & "]"
                rs.Update                             'Änderungen am / neuen Datensatz speichern
                           
                'Hier wird die Sachnummer und die Revisionsnummer in eine neue Spalte geschrieben
                rs.Edit                               ' Wenn Daten im Datensatz geändert werden sollen
                rs.Fields("[SachNr_Rev]") = rs!sachnummer & "-0" & rs![Stü-ÄZ]
                rs.Update                             'Änderungen am / neuen Datensatz speichern
               
                rs.MoveNext
         
            Loop
       
            rs.Close
            Set rs = Nothing
            Set db = Nothing
       
        Set db = CurrentDb                 ' Datenbank definieren    -- warum nochmal? vorige Zeile weglassen und db weiter nutzen
       Set rs = db.OpenRecordset("tblImport_Stuecklisten_neu") 'Tabelle definieren und öffnen
       
        CurrentDb.Execute "UPDATE tblImport_Stuecklisten_neu " & _
                            "SET Stueckliste = 123456 " & _
                            "WHERE Level='1'"
       

        If Not rs.EOF Then rs.MoveFirst         ' gehe zum ersten Datensatz
           Do Until rs.EOF
                If IsNull(rs!Stueckliste) Then
                    rs.Edit
                    rs!Stueckliste = stl
                    rs.Update
                Else
                    rs.Edit
                    rs!Stueckliste = sachnr
                    rs.Update
                End If
                ' diese Zuweisungen waren in meinen Code - warum hast du die weggelassen? hier musst du dich ggf auf den Level beziehen, hab den Code aus dem Ärmel geschüttelt ohne zu testen ...
               stl = rs!Stueckliste
                sachnr = rs!sachnummer
                rs.MoveNext
            Loop
             
        rs.Close
        Set rs = Nothing
        Set db = Nothing

    End If

End Sub
Gruß
Jürgen


Hilfe nach bestem Wissen, ohne Anspruch auf Richtigkeit und Vollständigkeit.
*feedback erwünscht*
Bitte Tipps lesen

Atuatuca

#9
Hallo Jürgen,

hier nochmal den Code mit ergänzenden Kommentaren.
Den u.g. Code lässt alle Felder leer wo der Wert in der Spalte Lever grösser wie 1 ist.

Private Sub cmd_Import_Stuecklisten_Click()
    Dim db As DAO.Database
    Dim rs As DAO.Recordset
    Dim Dateipfad As String
    Dim Datei As String
    Dim dlg As Object
    Dim var_form As String  'diese Variable kommt nachher per Eingabe aus einem Unterformular
    'Dim i As String        'wird z.Zt. nicht benötigt
    Dim stl As String       'ob stl oder strstl ist geschmackssache
    Dim sachnr As String
    Dim level As String
    Dim level1 As String
     
    Set dlg = Application.FileDialog(3)
   
    'Titelzeile
    dlg.Title = "Bitte Exceldatei(en) auswählen !"
   
    'standardpfad
    dlg.InitialFileName = "E:\Test\Stücklisten\"
   
    'Mehrfachauswahl erlauben
    dlg.AllowMultiSelect = True
   
    'Button text
    dlg.ButtonName = "Importieren"
    dlg.Filters.Clear
   
    'Nur Dateien mit Endung .XLS* sichtbar
   
    'dlg.Filters.Add "CSV-Datei", "*.csv"
    dlg.Filters.Add "Excel-Datei", "*.xls*"
   
     
    If dlg.Show Then
        DoCmd.SetWarnings False

        Dateipfad = dlg.SelectedItems(1) 'Pfad in Variable
       
        Datei = Dir(Dateipfad)
        'DoCmd.TransferText acImportDelim, , "tblImport_Stuecklisten_neu", Dateipfad, True
        'DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel12, "tblImport_Stuecklisten_neu", Dateipfad, True
        DoCmd.TransferSpreadsheet acImport, , "tblImport_Stuecklisten_neu", Dateipfad, True
       
       'hier wird der Wert in der Spalte "Level" in eine reale Zahl um gewandelt, in der Excel stehen nicht nur Zahlen
        Set db = CurrentDb                 ' Datenbank definieren
        Set rs = db.OpenRecordset("tblImport_Stuecklisten_neu") 'Tabelle definieren und öffnen
       
        DoCmd.OpenQuery "qryLevel_Normalisieren", acViewNormal 'habe ich von Jürgen übernommen
        'UPDATE tblImport_Stuecklisten_neu SET tblImport_Stuecklisten_neu.[Level] = Replace([Level],".","");
               
        If Not rs.EOF Then rs.MoveFirst         ' gehe zum ersten Datensatz
            Do While Not rs.EOF
                If rs.Fields("Level") = "0,2" Then 'weil Excel den Wert .2 als 0,2 darzustellt
                    rs.Edit
                    rs.Fields("Level") = "2"
                    rs.Update
                End If
                 
               
               
                                   
                'Hier wird für jeden Datensatz eine ID generiert aus verschiedenen Spalten der Tabelle
                'Wird benötigt als ID für die spätere Vater / Sohn beziehung usw....
                rs.Edit                               ' Wenn Daten im Datensatz geändert werden sollen
                rs.Fields("[ID_Temp_Stueckliste_Neu]") = rs!ID_Stueckliste_Neu & "_" & rs!Stueckliste & "_" & rs!sachnummer & "_REV_[0" & rs![Stü-ÄZ] & "]"
                rs.Update                             'Änderungen am / neuen Datensatz speichern
                           
                'Hier wird die Sachnummer und die Revisionsnummer in eine neue Spalte geschrieben
                rs.Edit                               ' Wenn Daten im Datensatz geändert werden sollen
                rs.Fields("[SachNr_Rev]") = rs!sachnummer & "-0" & rs![Stü-ÄZ]
                rs.Update                             'Änderungen am / neuen Datensatz speichern
               
                rs.MoveNext
           
            Loop
       
       
            rs.Close
' hier wurde
'Set rs = Nothing
'Set db = Nothing

'Set db = CurrentDb                 ' Datenbank definieren
'Set rs = db.OpenRecordset("tblImport_Stuecklisten_neu") 'Tabelle definieren und öffnen
'gelöscht
       
        CurrentDb.Execute "UPDATE tblImport_Stuecklisten_neu " & _
                            "SET Stueckliste = 123456 " & _
                            "WHERE Level='1'"
       

        If Not rs.EOF Then rs.MoveFirst         ' gehe zum ersten Datensatz
            Do Until rs.EOF                     ' Ausführen solange bis letzter Datensatz erreicht ist
                If IsNull(rs!Stueckliste) Then  ' wenn Wert in Spalte "Stueckliste" leer ist dann
                    rs.Edit                     ' Bearbeitungsmodus aktivieren
                    rs!Stueckliste = stl        ' den Wert der Variable "stl" in der Spalte "Stueckliste" eintragen
                    rs.Update                   ' Datensatz aktualisieren
                Else
                    rs.Edit                     ' Bearbeitungsmodus aktivieren
                    rs!Stueckliste = sachnr     ' Wert in Spalte "Stueckliste in der Variable "sachnr" speichern
                    rs.Update                   ' Datensatz aktualisieren
                End If
               
                ' diese Zuweisungen waren in meinen Code - warum hast du die weggelassen?
                ' habe rumprobiert
                stl = rs!Stueckliste
                sachnr = rs!sachnummer
                rs.MoveNext
            Loop
   
       
             
         rs.Close
         Set rs = Nothing
         Set db = Nothing
         
         

    End If



End Sub

el_gomero

ich werde mir deinen Code am späten abend ansehen - derweil kannst du dich mal mit der ungarischen Notation vertraut machen:  http://www.access-tutorial.de/namenskonventionen.htm
Gruß
Jürgen


Hilfe nach bestem Wissen, ohne Anspruch auf Richtigkeit und Vollständigkeit.
*feedback erwünscht*
Bitte Tipps lesen

Atuatuca

Hallo Jürgen,

danke für den Link. Wer ich mir mal zugemüte führen.

Gruss
Atuatuca

el_gomero

Hallo,

leider sind die Beispieldaten in deiner Excel-datei ungeeignet um weiterführende Aktionen durchzuführen. Anbei eine db, die mit den vorhandenen Angaben einen sinnvollen Import durchführt. Für einen 2. Schritt fehlen relevante Daten mit denen experementiert werden kann.
Gruß
Jürgen


Hilfe nach bestem Wissen, ohne Anspruch auf Richtigkeit und Vollständigkeit.
*feedback erwünscht*
Bitte Tipps lesen

Atuatuca

Moin Jürgen,

erstmal vielen Dank für deine Bemühungen.

anbei meine abgespeckte DB, sonst bringt mein Arbeitgeber mich um .-)

Die Tabelle 123456_original.xlsx ist die wie ich Sie bekomme.
Die Tabelle 123456_soll.xlsx ist die, wie sie nach her unter tbl_Import_Stueckliste_Neu,
ohne der Spalte "Kommentare" :-)
Ich muss ein Autowert haben, da sonst die Reihenfolge nicht wieder hergestellt werden könnte.
Die Tabelle muss so wie sie ist importiert werden, ohne dass die Reihenfolge verändert wird.

Hoffe die DB ist hilfreicher, als nur die Excel-Listen.

MaggieMay

Hi,
Zitatanbei meine abgespeckte DB, sonst bringt mein Arbeitgeber mich um
Beispiel-DBs sollten stets nur das Allernotwendigste enthalten, um das aktuelle Problem nachstellen zu können, und selbstverständlich nur anonymisierte Testdaten.

Du brauchst also keinen Mordanschlag zu befürchten, wenn du diese Regeln beherzigst. ;-)
Freundliche Grüße
MaggieMay