WCM - Das österreichische Computer Magazin Forenübersicht
 

Zurück   WCM Forum > Rat & Tat > Software

Software Rat & Tat bei Softwareproblemen

Microsoft KARRIERECAMPUS

Antwort
 
Themen-Optionen Ansicht
Alt 14.10.2004, 10:01   #1
Osmosis
Senior Member
 
Registriert seit: 18.04.2001
Ort: Wien
Alter: 50
Beiträge: 130


Frage Daten einer Tabelle in eine Zeile kopieren (Access oder Excel)

Habe folgendes Problem:

Habe Geräte die öfters zum Reparieren kommen.
Dazu habe ich die Felder für Seriennummer & Fehler.
Natürlich stehen diese Informationen untereinander in einer
Tabelle.

Ich möchte nun die zu einer SN gehörenden Fehler in einer
Zeile haben. (siehe Bild).

Nach dem ich nun mehrere Geräte habe möchte ich das ganze in
einer Access Datenbank mit Abfrage Realisieren.

gibts da Möglichkeiten ???

lg

Osmosis
Osmosis ist offline   Mit Zitat antworten
Alt 14.10.2004, 11:13   #2
Karl99
Veteran
 
Registriert seit: 05.06.2003
Beiträge: 444


Standard

Schreib ein Excel-Makro, das im Prinzip aus einer Tabelle den Wert liest und in eine andere Tabelle an eine gewisse Position schreibt. Verwende aber 2 unterschiedliche Blätter deshalb, damit sich nichts überschreibt. Mit einer EOF-Schleife (nicht im folgenden Beispiel enthalten!) sollte diese einfache Makro-Methode kein Problem darstellen.
LG Karl

Sub Makro1()
Sheets("Tabelle1").Select
Range("A2").Select
Selection.Copy
Sheets("Tabelle2").Select
ActiveSheet.Paste
Sheets("Tabelle1").Select
Range("C2").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Tabelle2").Select
Range("B2").Select
ActiveSheet.Paste
Sheets("Tabelle1").Select
Range("C3").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Tabelle2").Select
Range("C2").Select
ActiveSheet.Paste
Sheets("Tabelle1").Select
Range("C4").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Tabelle2").Select
Range("D2").Select
ActiveSheet.Paste
Sheets("Tabelle1").Select
Range("A5").Select
End Sub
Karl99 ist offline   Mit Zitat antworten
Alt 14.10.2004, 12:02   #3
RStAstl
Veteran
 
Registriert seit: 17.09.2000
Beiträge: 224


Standard Kreuztabelle in Access

Ein Möglichkeit wäre eine Kreuztabellenabfrage.
Dazu müsstet du aber die Fehler pro SNR durchnummerieren (manuell, in einem Formular auch programmtechnisch machbar).
Dann machst du am Besten die Seriennummer und die Fehlernummer (pro Seriennummer) zum Primärschlüssel der Tabelle (so hast du auch gleich verhindert dass die gleiche Fehlernummer öfters pro Seriennummer vergeben wird).

In der Kreuztabelle machst du dann die Seriennummer als Zeilenüberschrift und die Fehlernummer als Spaltenüberschrift. Im Kreuzungspunkt kannst du dann denn Fehler (Funktion ErsterWert) anzeigen lassen.
Code:
TRANSFORM First(Tabelle.Fehler) AS ErsterWertvonFehler
SELECT Tabelle.[Geräte SN], First(Tabelle.Fehler) AS [Gesamtsumme von Fehler]
FROM Tabelle
GROUP BY Tabelle.[Geräte SN]
PIVOT Tabelle.[Fehlernummer pro Geräte SN];
RStAstl ist offline   Mit Zitat antworten
Alt 14.10.2004, 12:23   #4
wbendl
Master
 
Registriert seit: 22.03.2000
Alter: 66
Beiträge: 550


Standard

Hi!

Das ist eindeutig ein Fall für eine Datenbank.
Wenn selber programmieren ausscheidet, ist Access das richtige für dich.

Für den Anfang genügt es, deine Excel-Tabelle in eine Access-Tabelle zu importieren.
Wenn noch weitere Daten zu den Geräten gespeichert sind (oder zukünftig gespeichert werden sollen), getrennte Tabellen für Geräte und Fehler verwenden.
Einfache Abfragen und Berichte lassen sich mit Assistenten erstellen.
Code zu schreiben wird wahrscheinlich nicht notwendig sein.

Wenn du lieber bei Excel bleibst, versuch es mit einer Pivot-Tabelle.
Falls das nicht klappt, bleiben noch Makros.

@Karl99
Ich nehme an du hast das Makro mit dem Rekorder aufgezeichnet. Solchen Code kann man nur für kleine Aktionen verwenden.

Die Verwendung von Select sollte nur in Ausnahmefällen vorkommen. Auf Zellinhalte direkt zugreifen. Das ermöglicht das einfachere verwenden von Schleifen, und die Geschwindigkeit steigt damit um den Faktor 10.

Wenn man schon Select verwendet, sollte man zumindest die Bildschirmaktualisierung abschalten. Das schont die Augen und erhöht die Geschwindigkeit.

Außerdem reicht eine Schleife bis zum Ende nicht. Es muß in jeder Zeile geprüft werden, um welches Gerät es geht. Abhängig davon werden Daten an die richtige Stelle kopiert.

mfg

WB
wbendl ist offline   Mit Zitat antworten
Alt 14.10.2004, 12:49   #5
RStAstl
Veteran
 
Registriert seit: 17.09.2000
Beiträge: 224


Standard Nachtrag Kreuztabellenabfrage

Ich hab die Kreuztabellenabfrage mit dem Assistenten im Access erzeugt. Der SQL-Code soll hier nur das Ergebnis des Assistenten zeigen.
RStAstl ist offline   Mit Zitat antworten
Alt 15.10.2004, 08:11   #6
Karl99
Veteran
 
Registriert seit: 05.06.2003
Beiträge: 444


Standard

Richtig, wbendl, ich hab´s mit dem Recorder aufgezeichnet, da ich eine schnelle Lösung gesucht habe. Osmisis hat die Datenmenge nicht genannt, d.h. ich bin von einer normalen Menge und einer einmaligen Aktion der Änderung der Datenansicht ausgegangen.
Karl99 ist offline   Mit Zitat antworten
Alt 15.10.2004, 09:41   #7
Osmosis
Senior Member
 
Registriert seit: 18.04.2001
Ort: Wien
Alter: 50
Beiträge: 130


Standard

Zitat:
Original geschrieben von Karl99
Richtig, wbendl, ich hab´s mit dem Recorder aufgezeichnet, da ich eine schnelle Lösung gesucht habe. Osmisis hat die Datenmenge nicht genannt, d.h. ich bin von einer normalen Menge und einer einmaligen Aktion der Änderung der Datenansicht ausgegangen.

Hallo an alle,

Danke mal im Voraus für die Hilfe.

Datenmenge sind ca 20.000 Datensätze ....tendenz steigend.
Leider ist es keine enmalige Aktion. Benötige das bei bedarf wöchentlich. Grundlage ist eine Access DB. Hatte gehoft das ich im Inet einen Wizard für dieses Problem finde. Doch leider bis jetzt noch nicht.
Osmosis ist offline   Mit Zitat antworten
Alt 15.10.2004, 11:11   #8
Karl99
Veteran
 
Registriert seit: 05.06.2003
Beiträge: 444


Standard

Doch Vorsicht: Bei zu vielen Datensätzen wird Access langsam!
Karl99 ist offline   Mit Zitat antworten
Alt 15.10.2004, 13:55   #9
powerman
gesperrt
 
Registriert seit: 08.06.2002
Alter: 76
Beiträge: 4.263


Standard

hi,
bei der kleinen Menge und richtiger Tabellenaufteilung überhaupt kein Problem. wir haben ca. >400.000 Datensätze und können ganz normal damit Arbeiten.
Datensatze:
>Tabellen<
= Seriennummer; mit Abfrage wie oft schon repariert
= Fehlerbezeichnung(1-10); mit Abfrage wie oft der FEHLER 1;2;3; usw.schon aufgetreten ist.
= Kunden; mit Abfrage wie oft Fehler beim selben Kunden auftreten.

USW......musste aber selber programmiert werden. Accessberater hilft dir dabei. Vorher jedoch ein Konzept auf einen Blatt erstellen.
Schreib mir ein eMail: welche Daten du benötigst. Ich werde versuchen dir ein Arbeitsblatt zu erstellen.
powerman ist offline   Mit Zitat antworten
Alt 17.10.2004, 16:14   #10
Osmosis
Senior Member
 
Registriert seit: 18.04.2001
Ort: Wien
Alter: 50
Beiträge: 130


Frage

Zitat:
Original geschrieben von powerman


USW......musste aber selber programmiert werden. Accessberater hilft dir dabei. Vorher jedoch ein Konzept auf einen Blatt erstellen.
Schreib mir ein eMail: welche Daten du benötigst. Ich werde versuchen dir ein Arbeitsblatt zu erstellen.
Vielen Dank für Dir Hilfe mal vorab.

Bis jetzt hab ich das ganze mit einer einer Excel Tabelle gemacht,
nach SerNo sortiert, dann nach Datum und hab händisch den Fehlern einen Index gegeben.
Würde das ganze aber lieber mittel Access und einer Abfrage machen, weich ich meist zwecks einer Auswertung schnell die darauf zugerfein muß.
Osmosis ist offline   Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 19:49 Uhr.


Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Forum SEO by Zoints
© 2009 FSL Verlag