Laden...

Forenbeiträge von ROHRAX Ingesamt 147 Beiträge

19.01.2011 - 09:05 Uhr

Habs jetzt so gelöst:
SELECT ID, ROWID
FROM DATEN
WHERE (ROWID IN
(SELECT MAX(ROWID) AS Expr1
FROM DATEN AS DATEN_1
GROUP BY ID
HAVING (COUNT(*) > 1)))
Und dann durchlaufe ich mit einer foreachschleife das DGV und lösche die Datensätze anhand der ROWID.

Vielen Dank!

19.01.2011 - 08:40 Uhr

So hatte ich es auch bereits versucht. Aber ich möchte, das einer der doppelten erhalten bleibt!
Am liebsten wäre es mir, wenn ich mir im Select noch die ROWID mitziehen könnte, weil dann könnte ich es anhand einer foreachschleife löschen... weil dann nur die Doppelten anzeigen lassen und von denen dann die ROWID.. und dann löschen.
Aber das haut nicht so wirklich hin, weil wenn ich die ROWID mitnehme, muss ich einen GROUP BY machen und dann werden gar keine Duplikate mehr angezeigt.

19.01.2011 - 08:31 Uhr

verwendetes Datenbanksystem: MSSQL 2005 Express

Hallo,

ich habe eine Tabelle in der einige Datensätze mit doppelter ID vorhanden sind.
Dieses ID Feld ist nicht das Feld mit auto increment und primärschlüssel, das ist nämlich ROWID

Wie bekomme ich jetzt die Datensätze gelöscht? Mein Select, der mir die doppelten anzeigt sieht wie folgt aus:


SELECT        ID
FROM            DATEN
GROUP BY ID
HAVING        (COUNT(*) > 1)

Jetzt bräuchte ich nur noch den Delete.

Und danach werde ich gleich mal einen Unique-Key setzen...

Danke für Eure Hilfe!

Lg

14.12.2010 - 11:02 Uhr

Funktioniert super - wunderbar, vielen Dank!

14.12.2010 - 10:32 Uhr

Hi,

ich habe einen Select der mir i. d. R. zwei Zeilen mit einer Spalte zurückgibt.
Wie kann ich die zwei Ergebnisse in C# oder per SQL zusammenfassen?
Hier mein Select:

SELECT        ISNULL(SUM(VERKAUF.GESPREIS), 0) + ISNULL(SUM(VERKAUF.GESPREIS), 0) * VERKAUF.MWST / 100 AS Expr1
FROM            VERKAUF INNER JOIN
                         DATEN ON VERKAUF.ARTNR = DATEN.ARTNR
WHERE        (VERKAUF.RECHNUNG = @rechnung) AND (DATEN.ZUSATZ3 = @fibukonto)
GROUP BY VERKAUF.GESPREIS, VERKAUF.MWST

Ich brauche am Ende also eine Variable die die Gesamtsumme zurückgibt.. oder eben eine Spalte.
Mit 'nem Array vielleicht?

Grüße

21.06.2010 - 08:24 Uhr

Hi,

ich habe eine Kunden- und Ansprechpartnertabelle.
Nun möchte ich in einem Treeview die Kunden anzeigen lassen. Erweitert man den entsprechenden Kunde, sollen die jeweiligen Ansprechpartner angezeigt werden.

Ich hab da mal was von diesen Nodes gelesen.
Wie genau funktioniert das Ganze?

Grüße

18.06.2010 - 10:24 Uhr

Wunderbar, danke 😃 Funktioniert!

18.06.2010 - 10:11 Uhr

Hi,

meine Form1 ist der MDI-Container.
Nun rufe ich in der Form1 eine weitere Windows Form auf:

            show_ps openps = new show_ps();
            openps.MdiParent = this;
            openps.Show();

Jetzt möchte ich in show_ps eine weitere Form aufrufen, die auch im MDI-Container angezeigt wird. Aber wie mache ich das?

Habe es schon mit ec.MdiParent = Form1 versucht, aber das klappt nicht.
Hat vielleicht jemand 'nen Tipp?

Grüße, RO

17.02.2010 - 11:03 Uhr

Hallo,

ich habe ein .txt-File mit ca. 480.000,00 Datensätzen, die leerzeichengetrennt sind.
Den Inhalt möchte ich über ein DataGridView darstellen. Damit der User nicht erst lange warten muss, bis die Datei geladen ist und es auch unzumutbar wäre, den User in eben knapp dieser Datenmenge etwas suchen zu lassen, möchte ich ein Suchfeld einbinden, dass die Ergebnise im DataGridView darstellt.
Wie gehe ich hierbei - auch aus Sicht der Performance - am besten vor?
Um einen StreamReader werde ich wohl nicht rumkommen, oder?

Grüße!

02.02.2010 - 14:07 Uhr

Hallo,

ich habe eine WPF-Anwendung mit einer comboBox in der ich mir die Daten aus einer MS SQL DB anzeigen lasse.

Jedoch werden einige Zeilen einfach als leer angezeigt.
Hier mein Select:

SELECT        Vorname + ' ' + Nachname + ', ' + strasse + ' ' + hasnummer + ', ' + ort AS Vorname, nummer
FROM            kontakte
Order by Vorname

und hier mein Script:


            DataTable dt = new DataTable();

            DataSet1.kontakteDataTable kontakteDataTable = new DataSet1.kontakteDataTable();
            DataSet1TableAdapters.kontakteTableAdapter kontakteTableAdapter = new DataSet1TableAdapters.kontakteTableAdapter();

            kontakteTableAdapter.Fill(kontakteDataTable);
            cbOldkontakt.ItemsSource = kontakteDataTable;
            
            cbOldkontakt.DisplayMemberPath = "Vorname";
            cbOldkontakt.SelectedValuePath = "nummer";

Liegt's an dem Select? Wenn ich im Select nur "Vorname" ausgeben lasse, ohne Verkettung, wird alles angezeigt.

Grüße!

18.12.2009 - 09:09 Uhr

Hallo,

ich habe eine .txt-Datei mit ca. 480.000,00 Datensätzen, in der die einzelnen Spalten per Leerzeichen getrennt sind.

Wie kann ich jetzt die einzelnen Spalten zu einem DataGridView hinzufügen?

Mit

this.dataGridView1.Rows.Add(sr.ReadLine().Substring(1, 35).Trim());

füge ich eine Spalte hinzu. Doch wie füge ich mehrere hinzu, z. B. mit dem Bereich 36-90?

Grüße, ROHRAX

[EDIT=herbivore]Das Aufteilen wurde schon in Zeilen nach Spaltennummern aufteilen besprochen. Es geht nur um das Hinzufügen ins DataGridView.[/EDIT]

18.12.2009 - 08:35 Uhr

Hallo,

wie kennzeichne ich, dass eine zweite Spalte beginnt?
Mit

                        this.dataGridView1.Rows.Add(sr.ReadLine().Substring(0,35).Trim());
                        this.dataGridView1.Rows.Add(sr.ReadLine().Substring(36, 90).Trim());

wird noch immer alles in die erste Spalte des dgv geschrieben.

18.12.2009 - 08:16 Uhr

Hallo herbivore,

danke für deine Antwort.
Mein Script sieht nun wie folgt aus:

this.dataGridView1.Rows.Add(sr.ReadLine().Substring(0,35).Trim());

Mit dem .Trim() möchte ich die übrigen Leerzeichen löschen, was auch soweit funktioniert.

Aber mit den Werten in Substring() lege ich ja nur eine Spaltenbreite fest. Wie gehe ich bei mehreren Spalten vor?

17.12.2009 - 17:13 Uhr

[EDIT=herbivore]Abgeteilt von Einlesen ohne Kommentare[EDIT]

Hallo,

ich arbeite an einer ähnlichen Sache.
Ich habe eine .txt-Datei mit knapp 480.000,00 Zeilen. Die einzelnen Spalten sind mit Leerzeichen getrennt, also verwende ich

this.dataGridView1.Rows.Add(sr.ReadLine().Split(new char[]{' '}, StringSplitOptions.RemoveEmptyEntries)

Nun habe ich aber das Problem, dass die Bezeichnung auch teilweise Leerzeichen enthält. Wie kann ich hierbei am besten vorgehen? Bzw. gibt es eine Möglichkeit, die Spaltenbreite, also bspw. von 1-15 = XX anzugeben?

17.12.2009 - 10:22 Uhr

Hi,

habs mit dieser Formel nun gelöst:

local NumberVar vj := umsatz.vorjahr
local NumberVar bj := umsatz.aktuell;

if vj > 0 then
    bj % vj - 100
else
    if vj = 0 then
        if bj > 0 then
            100
        else
            if vj = 0 then
                0
            else
                -100
    else
        if bj >= 0 then
            100
        else
            vj % bj - 100
17.12.2009 - 10:08 Uhr

Hi,

ich habe eine Umsatzauswertung, bei der ich die Umsätze des Vorjahres mit denen des aktuellen Jahres gegenüberstelle. Die Differenz soll prozentual dargestellt werden und genau hier beginnt mein Problem:
Es kommt vor, das einige Artikel im aktuellen Jahr gar nicht verkauft wurden, bzw. die Differenz negativ ist und somit eine Teilung (Division by Zero) nicht möglich ist. Ich möchte diese Beträge aber negativ darstellen lassen, z. B. Entw: -50%.

Wie gehe ich hierbei vor?

Mfg.

10.12.2009 - 09:49 Uhr

Hallo,

ich möchte eine Quartalsauswertung erstellen.
Man soll auswählen können, von welchem bis zu welchem Quartal ausgewertet werden soll und dies dann mit dem Vorjahr vergleichen.

Besteht die Möglichkeit, in dem DateTimePicker sich das Quartal anzeigen zu lassen?
Bzw. wie könnte man das sonst umsetzen?

Grüße, ROHRAX

27.07.2009 - 14:25 Uhr

Funktioniert auch nicht.
Wird zwar in die nächsten Zellen gesprungen, Änderungen jedoch nicht aktualisiert!

27.07.2009 - 11:55 Uhr

Hallo,

jap, ist eine ADO.NET Verbindung.
Das Problem tritt auch bei nur einer Zeile auf. Wenn ich aber dann doppelt in eine Zelle hineinklicke, funktioniert es einwandfrei. Ist nur dann so, wenn der Text aus dem anderen Fenster übernommen wurde.

27.07.2009 - 11:33 Uhr

Hallo,

ich habe ein dataGridView in einer Windows Forms Anwendung die mit einem SQL Server 2005 läuft.

In dem dataGridView sind mehrere Zellen. Klickt der User in eine bestimmte Zelle, öffnet sich dort ein Windows-Forms Fenster indem ein Text eingegeben werden kann.
Dieser Text wird dann nach Schließen des Fensters in das dataGridView übergeben.

Klickt man jetzt auf den Speichern-Button, der den Update-Command hinterlegt hat, passiert nichts. Erst wenn ich eine andere Zelle editiere, dann auf Speichern klicke, werden die Änderungen übernommen.

Worin besteht hier das Problem?

Grüße, Benjamin

09.07.2009 - 13:57 Uhr

Hallo,

ich habe ein dataGridView, welches an eine Datenbank gebunden ist.

Klickt der Benutzer auf einen Button wird über button.PerformClick() auf einen anderen Button geklickt, der eine Funktion aufruft.

In dieser Funktion möchte ich die selektierten Zeilen des dataGridViews haben - klappt jedoch nicht ganz.

Führe ich folgendes Script über den ersten Button aus, funktioniert es. Mache ich es dann aber über die Funktion, funktioniert es wieder nicht. Ist das dataGridView dann vielleicht nicht mehr aktiv?

foreach (DataGridViewRow reihe in dataGridView1.SelectedRows)
{
       MessageBox.Show("blub");
}

Grüße, Benjamin

02.07.2009 - 15:20 Uhr

Hallo,

ich habe einen Report mit dem Visual Studio 2008 entworfen.
In der Vorschau im Visual Studio wird er richtig angezeigt, drucke ich ihn dort aus, ist das Ergebnis auch richtig.

Öffne ich den Report aber nun über meine Anwendung im CrystalReportViewer und drucke ihn aus, wird er völlig durcheinander geworfen, obwohl die Vorschau passt.

Drucker ist definitiv der richtige hinterlegt.

Grüße, Benjamin

08.06.2009 - 11:35 Uhr

Hab es etwas komisch formuliert.
Wenn ich den Select im Querie Tableadapter ansehe, dann funktioniert er.
Den Querie Tableadapter verwende ich jetzt nicht mehr, ich verwende jetzt den Quellcode (wie im ersten Beitrag geposted).
Den Select habe ich wie folgt umgestaltet:

OleDbCommand objCmdSelect = new OleDbCommand("SELECT Material1, Materialkurztext, Betrag FROM [Tabelle1$]", objConn);

Ändere ich bspw. den Tabellennamen, sagt er, das er ihn nicht finden kann. Also denke ich mal, dass dieser passt.

08.06.2009 - 11:24 Uhr

Hallo,

habe ich versucht, zeigt leider nichts an.
Hab jetzt rausgefunden, dass scheinbar der Select nichts liefert?

08.06.2009 - 10:01 Uhr

Hallo,

habe mir eben einen Connection-String gebastelt, mit dem ich auf mein Excel 2003 File zugreifen kann.
Im DataSet kann ich den Select auch einwandfrei ausführen.

Aber wie kann ich jetzt den Select im DataGridView anzeigen?
Es handelt sich um einen Queries Tableadapter.

Grüße, Benjamin

//Edit:
Mein Script sieht bisher wie folgt aus:

            String sConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + @"C:\krone\krone.xls" + ";" + "Extended Properties=Excel 8.0;";


            OleDbConnection objConn = new OleDbConnection(sConnectionString);

            objConn.Open();

            OleDbCommand objCmdSelect = new OleDbCommand("SELECT * FROM [Tabelle1$]", objConn);

            OleDbDataAdapter objAdapter1 = new OleDbDataAdapter();

            objAdapter1.SelectCommand = objCmdSelect;

            DataSet objDataset1 = new DataSet();

            objAdapter1.Fill(objDataset1);

            objConn.Close();
07.04.2009 - 10:11 Uhr

Die Daten liegen in der Datenbank. Ich fülle einen Tableadapter mit diesen Daten.
Anschließend möchte ich alle Daten, die bspw. die ID 6 haben nochmals neu in die Datenbank einfügen mit der ID 7.

Ich hab es mit der CopyTo Funktion probiert, jedoch bin ich da nicht gut zurecht gekommen.

06.04.2009 - 15:31 Uhr

Hallo,

ich arbeite an einem Projekt mit Visual Studio 2005 Pro und MS SQL 2005.

Nun möchte ich Daten aus dem letzten Jahr in die gleiche Tabelle kopieren, jedoch mit anderer Jahres-ID, in einer Spalte werden also die Werte geändert.

Wie gehe ich hierbei am besten vor?

Grüße, Ben

16.03.2009 - 09:53 Uhr

Ich verwende ein DataGridView.

Wenn die Zeilenanzahl größer gleich 1 ist, soll der Wert einer vorherigen Zelle in der neuen Zeile in die Zelle kopiert werden.

16.03.2009 - 09:36 Uhr

Hallo,

habe ein DataGridView und möchte nun einen Wert aus der vorherigen Zeile in die neue Zeile kopieren.

                if (bedingung == x)
                {
                    if (blubDataSet.tabelle.Rows.Count == 0)
                    {
                        rrr["DATUM"] = DateTime.Today.Date;
                    }
                    else if (blubDataSet.tabelle.Rows.Count >= 1)
                    {
                        rrr["DATUM"] = tabelleBindingSource.CurrencyManager.Current - 1
}
                }

Irgendwie sollte es ja mit dem CurrencyManager funzen, oder? Aber das ich mit dem -1 nur einen Integer-Wert erreiche ist mir jetzt auch klar..!

Grüße, Ben

13.03.2009 - 09:41 Uhr

verwendetes Datenbanksystem: MS SQL 2005

Hallo,

sitze gerade an einem Visual Studio 2008 Professional Projekt.
In einem QueriesTableAdapter habe ich zwei Selects.
Einer holt mir die Anzahl, wie oft der Artikel verkauft wurde, ein anderer, wie oft er bestellt wurde.
Somit wird der aktuelle Artikelbestand ausgerechnet (aber nirgendwo gespeichert!).

Jetzt möchte ich mir einen CrystalReport erstellen, der mir alle Artikel anzeigt, die den Mindestbestand erreicht haben (wie hoch der Mindestbestand des jeweiligen Artikels ist, ist in der Datenbank hinterlegt).

Wie kann ich mir jetzt aus diesen zwei Selects einen Select basteln, der dann rechnet?
Das mir dann nur die Artikel angezeigt werden, die den Mindestbestand erreicht haben, mache ich dann per Formel über den Report...

Danke für Eure Hilfe!

Grüße, Ben

20.02.2009 - 15:03 Uhr

Habe es nun wie folgt umgebastelt:

            DataGridViewRow r2 = (DataGridViewRow)dataGridView2.Rows[0].Clone();
            int i = 0;
            foreach (DataGridViewCell cell in dataGridView1.Rows[e.RowIndex].Cells)
            {
                r2.Cells[i].Value = cell.Value;
                i++;
            }
            BindingSource1.Add(r2);
            dataGridView2.Refresh();

Daraufhin folgt dieser Fehler: "Objekte, die zur Liste einer BindingSource hinzugefügt werden, müssen alle denselben Typ haben.".

20.02.2009 - 14:12 Uhr

Hallo,

verwende nun auch diese Methode, um Zeilen in ein anderes DataGridView zu kopieren.
Nun funktioniert das Ganze jedoch nicht bei einem datengebundenen Grid.

Wie kann ich diese Methode nun auf ein datengebundenes Grid sinnvoll anwenden?

Grüße, Ben

16.01.2009 - 08:53 Uhr

Hallo Jürgen,

vielen Dank für deine Informationen, das mit dem AcceptChanges() ist ja wirklich sehr interessant. Hab mich da auf meine Englischkenntnisse verlassen und dachte wirklich (wie bestimmt viele andere auch die die genaue Definition nicht kennen), das somit die Änderungen übergeben werden.

Wie sieht jetzt die Übergabe mit dem DefaultView in etwa aus?

Grüße, Ben

15.01.2009 - 16:44 Uhr

Hallo,

habe ein Formular (DataGrid), in dem mehrere Zeilen stehen.
Wenn ich jetzt die Positionen verschiebe und speichere, klappt das soweit auch ganz gut.
Möchte ich das Ganze dann jedoch drucken, wird die Verschiebung der Position nicht berücksichtigt, es wird also noch in der alten Darstellung gedruckt.

In der richtigen Anordnung wird es erst gedruckt, wenn ich den Datensatz neu herhole.
Worin liegt hierbei der Fehler?

Hier mein Script:


            mybetaDataSet.sortieren.AcceptChanges();
dataGridView1.Refresh();
           druckalles dadas = new druckalles(mybetaDataSet, textBox2.Text, textBox3.Text, textBox6.Text, textBox5.Text, textBox7.Text, textBox4.Text, Convert.ToDecimal(textBox13.Text), Convert.ToDecimal(textBox14.Text), Convert.ToDecimal(textBox14.Text) - Convert.ToDecimal(textBox13.Text), blub, blub, dateTimePicker1.Value.Date, textBox8.Text, textBox9.Text, textBox11.Text, textBox12.Text, drucknummer, druckselnummer, dru, textBox21.Text,textBox25.Text, comboBox2.Text,textBox26.Text, textBox27.Text, Convert.ToInt32(textBox28.Text), textBox19.Text, textBox29.Text, Convert.ToDecimal(textBox30.Text));
            dadas.ShowDialog();

Grüße, Ben

14.11.2008 - 10:42 Uhr

Hallo,

habe es nun so gelöst:


                dataGridView1.Rows[0].Selected = false;
                dataGridView1.Rows[dataGridView1.Rows.Count - 1].Selected = true;

Jetzt selektiert er die ganze Zeile, jedoch kann der Benutzer nicht in die erste Zelle schreiben. Ich möchte also noch zusätzlich die erste Zelle selektieren. Wie geht das?

14.11.2008 - 08:40 Uhr

Hallo,

in einem DataGridView kann der User über einen Button eine neue Zeile hinzufügen. Funktioniert auch ganz gut.

Problem ist folgendes: Wenn der Benutzer die neue Zeile einfügt, wird diese zwar hinzugefügt, er bleibt jedoch noch in der alten Zeile. Wie kann ich es so machen, das der Benutzer dann automatisch in der neuen Zeile landet? So besteht eben die Gefahr, das die Daten in der Zeile über der Neuen überschrieben werden.

Grüße, Ben

13.11.2008 - 17:07 Uhr

So, habe es nun mit Torleys Lösungsvorschlag versucht. Jetzt habe ich aber ein Problem mit der Typenkonvertierung.
Die Variablen eintrag, dtstart, dtende, dtspan sind vom Typ DateTime

Jetzt kommt der Fehler, das "Indizierung mit [] kann nicht auf einen Ausdruck vom Typ "System.DateTime" angewendet werden".
Bei TimeSpan bringt er den selben Fehler!

"counter" gibt die Anzahl der Datensätze zurück.
Die maxzeit-Variablen (bsp. maxzeitmo) geben die Soll-Arbeitszeit des Benutzers zurück. Diese möchte ich dann mit dem Ergebnis in dtspan vergleichen, indem ich dtspan minus der entsprechenden maxzeit-Variable rechne und das dann anschließend in den uestd-Variablen speichere.

Ich denke der Ansatz ist so richtig , es kommt eben nur noch auf die Typenkonvertierung drauf an, oder?


                counter = Convert.ToInt32(timecontrolTableAdapter.anzahl(mitarbeiter));
                
                for (int i = 0; i < counter; i++)
                {
                    //Zeiten berechnen
                    eintrag = Convert.ToDateTime(timecontrolTableAdapter.zeiten(foxDataSet.timecontrol, mitarbeiter));
                    dtstart = eintrag[i].date;
                    dtende = eintrag[i + 1].date;
                    dtspan = dtende - dtstart;

                    //Überstunden in Datenbank schreiben
                    if (dtstart.Date.ToString("ddd", ci) == "Mo")
                    {
                        if (dtspan != maxzeitmo)
                        {
                            uestdmo = dtspan - maxzeitmo;
                            //Insert uestdmo in dbo.ueberstunden
                        }
                    }
                    else if (dtstart.Date.ToString("ddd", ci) == "Di")
                    {
                        if (dtspan != maxzeitdi)
                        {
                            uestddi = dtspan - maxzeitdi;
                            //Insert uestdmo in dbo.ueberstunden
                        }
                    }
                    else if (dtstart.Date.ToString("ddd", ci) == "Mi")
                    {
                        if (dtspan != maxzeitmi)
                        {
                            uestdmi = dtspan - maxzeitmi;
                            //Insert uestdmo in dbo.ueberstunden
                        }
                    }
                    else if (dtstart.Date.ToString("ddd", ci) == "Do")
                    {
                        if (dtspan != maxzeitdo)
                        {
                            uestddo = dtspan - maxzeitdo;
                            //Insert uestdmo in dbo.ueberstunden
                        }
                    }
                    else if (dtstart.Date.ToString("ddd", ci) == "Fr")
                    {
                        if (dtspan != maxzeitfr)
                        {
                            uestdfr = dtspan - maxzeitfr;
                            //Insert uestdmo in dbo.ueberstunden
                        }
                    }
                    else if (dtstart.Date.ToString("ddd", ci) == "Sa")
                    {
                        if (dtspan != maxzeitsa)
                        {
                            uestdsa = dtspan - maxzeitsa;
                            //Insert uestdmo in dbo.ueberstunden
                        }
                    }
                    else if (dtstart.Date.ToString("ddd", ci) == "So")
                    {
                        if (dtspan != maxzeitso)
                        {
                            uestdso = dtspan - maxzeitso;
                            //Insert uestdmo in dbo.ueberstunden
                        }
                    }
                    //Nächster Wert
                    i++;
                } 

13.11.2008 - 14:34 Uhr

Ich hab dir mal 'ne Nachricht geschickt 😉

13.11.2008 - 13:15 Uhr

Über diese komische Datenstruktur habe ich mich auch schon gewundert. Aber mit diesen Daten muss ich arbeiten...!

Wie hole ich am besten die Zeiten pro Tag und Mitarbeiter ab?

Und v.a. wie setze ich das um, wenn ein Mitarbeiter am Tag mehrmals gekommen und gegangen ist?
Lauter Variablen kommt1, kommt2, etc. zu erstellen wäre ja unsinnig, oder?

13.11.2008 - 11:44 Uhr

Hallo,

vorweg: verwendetes Datenbanksystem: MS SQL 2005

Hab ein Problem bei der Berechnung der Zeiterfassung (bringe das irgendwie logisch nicht zusammen) und bitte nun um Hilfe:

Ich habe die Tabelle Zeiterfassung, in der die ID der Personen steht und wann die Zeit erfasst wurde.
Wenn die Person kommt, wird die Zeit erfasst:

182 | 12.11.2008 08:01:34

Geht die Person wird die Zeit wieder erfasst:

182 | 12.11.2008 13:05:26

Das Ganze kommt am Tag mehrmals vor, also dieses Kommen und Gehen.
In der Datenbank wird nicht unterschieden, ob es sich um eine Kommt- oder um eine Gehtzeit handelt.

Wie kann ich jetzt am besten die Gesamtstunden pro Tag (auch von Tagen die in der Vergangenheit liegen) und Person per Select ausgeben bzw. per Script berechnen?

Grüße, Ben

12.11.2008 - 14:42 Uhr

So?
foreach(DataRow row in foxDataSet.timecontrol.Rows)
?

Aber wie kann ich dann trotzdem noch auf das zurückgreifen, was mein Select ausgibt?
Ich blick von der logik her im Moment gar ned durch...

12.11.2008 - 14:28 Uhr

Ich hab ein DataSet und der Select ist in nem TableAdapter...
(fodDataSet.xsd | timeControlTableAdapter)

12.11.2008 - 13:21 Uhr

Hallo,

ich habe einen Select der mir Zeiten von Personen ausgibt.
Wie kann ich nun mit einer foreach Schleife aus diesem Select alle Zeiten durchgehen und dann eine entsprechende Aktion damit machen?

Was ist an dem Ansatz falsch?


foreach(timecontrolTableAdapter.tage(persid))
{
MessageBox.Show(zeiten.ToString());
}
12.11.2008 - 10:44 Uhr

Die Uni schenkt (?) dir ein Visual Studio? Ich hätte doch studieren sollen...!
Wenn du studierst und ein Visual Studio geschenkt bekommst, gehe ich davon aus, das du irgendwas mit Informatik studierst... dann solltest du aber schon mit der englischen Sprache zurecht kommen!

Falls es sich um eine Express-Edition handelt - hier kann man sich die deutschen Versionen bei Microsoft herunterladen.

06.11.2008 - 14:18 Uhr

Hä? Ich hab dich die Proxc.dll ausgewählt..! Dazu gibt es keine weiteren Dateien.

06.11.2008 - 14:14 Uhr

Ok, das Tool hab ich mir runtergeladen.

In die Dokus lese ich mich mal ein wenn mehr Zeit ist. Danke dafür!

Was sagt nun dieser Fehler bei dem Pinvoke-Tool?
Could not load assembly 'C:\dev\TMC Transfer\TMC Transfer\tmc_files\Proxc.dll'.

Die Datei oder Assembly "file:///C:\dev\TMC Transfer\TMC Transfer\tmc_files\Proxc.dll" oder eine ABhängigkeit davon wurde nicht gefunden. Im Modul wurde ein Assemblymanifest erwartet.

06.11.2008 - 13:30 Uhr

Als Fehlermeldung erhalte ich folgendes:
"Es konnte kein Verweis auf "C:\dev\TMC Transfer\TMC Transfer\tmc_files\Proxc.dll" hinzugefügt werden. Stellen Sie sicher, dass auf die Datei zugegriffen werden kann und dass sie eine gültige Assembly oder COM-Komponente ist."

Die Datei wird auch nicht irgendwie von 'nem anderen Programm oder so verwendet.

06.11.2008 - 13:10 Uhr

Hallo,

habe eine .dll-Datei, die ich nun in mein Projekt einbinden möchte, sodass ich damit arbeiten kann und die ganzen Funktionen dann zur verfügung habe.

Wie mache ich das?

Grüße, Ben

03.11.2008 - 13:55 Uhr

@ Vorposter: Ja, da hast du recht!

Habe nun folgendes gefunden: http://www.webservicex.net/CurrencyConvertor.asmx/ConversionRate?FromCurrency=EUR&ToCurrency=USD

Doch wie kann ich das Ergebnis nun in meine Textbox einlesen?

using System.Xml; hab ich schon eingebunden. Geht's irgendwie über den xml textreader?

03.11.2008 - 12:09 Uhr

dafür musst du einen webservice anzapfen, der wechselkurse bereitstellt.

Hm... n-tv.de hat den aktuellen Wechselkurs immer auf der Startseite stehen... wie kann ich die Daten nun in meine DB einbinden? Besser gefragt.. wie funktioniert das Anzapfen jetzt? Rechtliches Problem?