Stringmanipulation

Alfred_

Erfahrenes Mitglied
Hi,
ich "hänge" derzeit an einem kleinen Optimierungsproblem für einen Bekannten.Vorher hatte er 900 If-Bedingungen um Kopiervorgänge durchzuführen.
Ich denke das geht etwas einfacher... Mein Problem liegt darin, dass ich zwar in der MsgBog den jeweiligen richtigen Kopierbereich angezeigt bekomme, aber den String an die folgende Insert - Anweisung nicht übergeben kann.
Code:
Private Sub Bereich_xxx_Kopieren()
Me.Caption = "Kopiervorgang für Bereich_xxx_sowieso"
  goDb.Execute "INSERT INTO [Tabelle1] SELECT * FROM [Bereich_xxx_sowieso]"
End Sub
Bei
Code:
If y = maRs!LfdNr Then Call Bereich_" & y & "_Kopieren
verweigert er mir mit der Fehlermeldung "Anweisungsende fehlt" seine Zustimmung.
Was mache ich da falsch? Anbei mein Lösungsvorschlag.
Code:
'....Recordset
Dim maRs As dao.Recordset
Dim x As Integer, y As Integer
Set maRs = goDb.OpenRecordset("SELECT * FROM [Tabelle1] ORDER BY [Max] DESC", dbOpenDynaset)
With maRs
  If .RecordCount > 0 Then .MoveFirst
       For x = 1 To 3
        For y = 1 To 900
          If y = maRs!LfdNr Then MsgBox "Bereich_" & y & "_Kopieren"
        Next y
    .MoveNext
  Next x
End With
  maRs.Close
  Set maRs = Nothing
Jetzt schon Danke für die Hilfestellung.
 
Hallo, ändere die Sub wie folgt:
Code:
Private Sub BereichKopieren(ByVal xxx As String)
Dim KopieNach As String

  KopieNach = Bereich_ " & xxx & "_sowieso"
  Me.Caption = "Kopiervorgang für " & KopieNach
  goDb.Execute "INSERT INTO [Tabelle1] SELECT * FROM [" & KopieNach & "]"

End Sub
Aufruf geht so:
Code:
If y = maRs!LfdNr Then Call BereichKopieren(y)
Du musst aber beachten, dass y als String übergeben wird.
 
Zurück