Hallo Herr Griesheimer,
vielen Dank für das Lob, wird immer wieder gerne angenommen
Ihre Anforderung ist machbar, erfordert aber etwas Handarbeit. Sie benötigen dafür den
.NET Script Heater
, den
Filter Heater
und folgendes kleines C# Skript.
public object DoWork()
{
bool bRet = false;
if (InValues.Length != 2)
throw new Exception("Es werden 2 Eingangsparameter erwartet");
// Nicht im Testmodus ausführen!
if (AdapterWrite.OnlyTest)
return bRet;
// 1. Heater Eingangsparameter holen = Filter/Löschkriterium
string filter = (string)InValues[0].GetString();
// Diese Bedingung dient nur als Beispiel, es können auch komplexere Bedingungen gebildet werden!
// z.B. wenn filter = 5 dann den Datensatz löschen
if ( filter == "5" )
{
// 2. Heater Eingangsparameter holen = PrimaryKey
string id = (string)InValues[1].GetString();
// Tausender Trennzeichen entfernen kann bei Alphanummerischen Primary Keys entfalllen
id = id.Replace(".", "").Replace(",", "");
// DELETE SQL zusammenbauen
// !!! ACHTUNG: Tabellenname sowie Primary Key Name muss manuell angepasst werden !!!
string sql = "delete from IHRE_TABELLE where id = " + id;
// Bei Alphanummerischen PrimaryKey diese Syntax verwenden
//string sql = "delete from IHRE_TABELLE where id = '" + id + "'";
// SQL auf der WRITE Seite ausführen
AdapterWrite.Execute(sql);
// Rückgabe für den Filter Heater so dass der Datensatz
// auf der WRITE nicht mehr behandelt wird!
bRet = true;
}
return bRet;
}
Ziehen Sie den Filter Heater sowie den .NET Script Heater auf den Designer. Verbinden Sie als 1. Eingangsparameter das Excel Feld das das Filter/Löschkriterium enthält mit dem .NET Script Heater. Als 2. Eingangsparameter verbinden Sie nun das Excel Feld, das die Primary Key Informationen zum löschen der Daten enthält mit dem .NET Script Heater. Den Ausgang des .NET Script Heater verbinden Sie nun noch mit dem Filter Heater. Jetzt müssen Sie noch den o.s. Skript Code in den .NET Script Heater kopieren und manuell Ihre MySQL Tabellennamen, den MySQL PrimaryKey Namen sowie Ihr Filter/Löschkriterium anpassen. Siehe Kommentar im Skript!
ACHTUNG: Das ganze bitte mit Vorsicht genießen. Wird hier eine falsche SQL WHERE Bedingung angegeben können versehentlich falsche Datensätze, oder auch der ganze Tabelleninhalt gelöscht werden!
PS: Falls Sie damit nicht klar kommen kann ich Ihnen hierfür auch ein kleines Beispiel anfertigen. Bitte posten Sie dafür den MySQL Tabellenaufbau (Feldnamen, etc.), ihre Excel Arbeitsmappe mit Beispieldaten und noch ein paar zusatzinformationen was Sie genau machen wollen.