Zum Inhalt springen

Reinhold

Mitglieder
  • Gesamte Inhalte

    730
  • Benutzer seit

  • Letzter Besuch

Alle Inhalte von Reinhold

  1. Moin, heute brauche ich bitte mal einen hilfreichen Tipp: Es existiert ein MS-SQL-SERVER 2000 auf dem eine Datenbank "XYZ01" existiert. Von dieser Datenbank wird allabendlich ein Backup erzeugt, dessen Dateiname aber Datum und Uhrzeit enthält und mir somit nicht bekannt ist. Dieses Backup soll nun auf einem anderen Rechner (Notebook) 1-2 mal monatlich automatisiert in eine existierende Datenbank "ABC99" überspielt werden (überschreiben). Wenn dazu zuerst ein Backup unter konstantem Namen gebraucht wird, dann soll es meinetwegen daran nicht scheitern. Kann man das so automatisieren, dass alles auf Doppelklick passiert? Falls ja, wie? Danke im Voraus Reinhold
  2. Moin, ich tippe mal so aus der hohlen Hand, das liegt daran, dass geprüft wird. ob ein Buchstabe eingegeben wurde (keyCode = 65 ist ein großes A), hingegen hätte die Ziffer 9 den keyCode = 57 hth Reinhold
  3. ... das in diesem Forum hier Fehlerbeschreibungen oft unzureichend sind, bin ich ja gewohnt, aber das hier spottet wirklich jeder Beschreibung. *rotfbc* Reinhold
  4. Dann so: select left(spaltenname , case when (CHARINDEX ('/', spaltenname ) -1 ) > 0 then (CHARINDEX ('/', spaltenname ) -1 ) else 0 end )) as WERT, count(*) as ANZAHL from tabellenname group by left(spaltenname , case when (CHARINDEX ('/', spaltenname ) -1 ) > 0 then (CHARINDEX ('/', spaltenname ) -1 ) else 0 end )) order by count(*) desc, left(spaltenname , case when (CHARINDEX ('/', spaltenname ) -1 ) > 0 then (CHARINDEX ('/', spaltenname ) -1 ) else 0 end )) desc Auch das wie immer ungetestet und mit heisser Nadel. Falls die Tabelle viele Zeilen hat, solltest du das aber besser über Nacht laufen lassen. Reinhold
  5. Ich unterstelle mal, dass der Wert immer gleich lang ist wie in deinem Beispiel. Dann versuch es mal so: (ungetestet) select left(spaltenname, 7) as WERT, count(*) as ANZAHL from tabellenname group by left(spaltenname, 7) order by count(*) desc, left(spaltenname, 7) desc hth Reinhold
  6. Probier mal so: (ungetestet) Select ba.name as absender, be.name as empfaenger from nachricht n inner join benutzer ba on ba.id = n.absender inner join benutzer be on be.id = n.empfaenger where id = $id hth Reinhold
  7. Moin, nur mal so interessehalber: wozu soll das denn jemals gut sein? Gibt es da eine konkrete Problemstellung? Und wenn ja, kannst du die hier dann angeben? :confused::confused::confused: Reinhold
  8. Ich wäre ja dafür, dass Azubis gar keinen Urlaub bekommen. Was man in der Zeit alles lernen könnte ... ;) *duckundnixwieweg* Reinhold
  9. Wieso fragst du nicht die IHK deines Vertrauens? (Man nennt sie auch die "zuständige Stelle", weil sie in solchen Dingen zuständig sind) Reinhold
  10. Moin, das ist in der Tat eine hervorragende Idee! Ich kann mir kaum vorstellen, dass das nicht einzurichten ist. Vor allem aber gratuliere ich dir herzlich zu deiner bevorstehenden Übernahme. Sonst würde man nämlich so kurz vor den Abschlussprüfungen kein Geld mehr in dich investieren. Viele Grüße Reinhold
  11. Moin, mag sein dass das ein Problem ist und mir ist auch nicht wirklich wohl dabei, Aber wie dem auch sei, diese Anwendung ist nicht von mir und von mir in dieser Hinsicht auch nicht beeinflussbar. Ich werde also wohl damit leben müssen. Danke für deine Hinweise. Reinhold
  12. Moin, ich tippe mal darauf, dass du den Pfad in Anführungszeichen setzen solltest, also: Shell "explorer.exe " & chr(34) & Pfad & Ordner & chr(34), vbNormalFocus hth Reinhold
  13. Moin, das sehe ich genau so, aber das Problem ist, dass ich die Spalten nicht weiss, genauer gesagt, die User können eigene Spalten anlegen, die dann logischerweise auch protokolliert werden müssen. Und ich befürchte, dass da sonst kein Mensch mehr die Trigger im Auge hat. Hast du einen Tipp, wie es, wenn auch unperformant, gehen könnte? Gruß Reinhold
  14. Moin, heute komme ich mal irgendwie nicht so richtig weiter. Es geht darum, dass ich Trigger für einige Tabellen brauche (ggf. ziemlich viele) die alle Änderungen protokollieren sollen. Darum muss das so variabel wie möglich sein. SET @SQL = 'DECLARE SPALTENCURSOR CURSOR FOR SELECT C.name FROM syscolumns C INNER JOIN sysobjects O ON C.id = O.id WHERE O.name = N''' + @TABELLE + ''''; EXEC(@SQL); OPEN SPALTENCURSOR; FETCH NEXT FROM SPALTENCURSOR into @SPALTE; WHILE @@FETCH_STATUS = 0 BEGIN SET @WERTNEU = 'Select ' + @SPALTE + ' from inserted'; SET @WERTALT = 'Select ' + @SPALTE + ' from deleted'; -- -- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -- das hier drüber geht so leider und vielleicht auch logischerweise nicht. -- -- hier kommt dann irgendwann ein geniales Insert-Statement ins Protokoll -- FETCH NEXT FROM SPALTENCURSOR into @SPALTE; END CLOSE SPALTENCURSOR; DEALLOCATE SPALTENCURSOR; Kennt da jemand einen Trick? :confused::confused::confused::confused: Reinhold
  15. Reinhold

    abfrageproblem

    Moin, setz doch im Ereignis "nachAktualisierung" den Formularfilter entsprechend. Also z.B. wenn das Feld die Personalnummer enthalten würde: Me.Filter = "Persnr='" & Me!Personalnummer & "'" Me.FilterOn = true Reinhold
  16. Reinhold

    abfrageproblem

    Moin, ein erster Schritt zu einem Lösungsansatz wäre es, zu erfahren, welche Software du da benutzt. :upps:upps Reinhold
  17. Hm, das ist eine gute Frage. Als spontane Idee (und geeignetes DBMS vorausgesetzt) könnte man irgendwelche genialen Trigger beim Update bzw. Insert ausführen lassen, die das überprüfen .... Verlang aber jetzt bitte keinen Codeschnipsel. Und ob das sehr performant ist, wage ich auch zu bezweifeln. Alternativ kannst du auch die Methode "Augen-zu-und-durch" verwenden und dich auf den Standpunkt stellen, dass dein User sehr wohl das System zum Absturz bringen darf, er hat es ja gekauft und somit ist es sein Eigentum... :D:D Spaß beiseite, wenn jemand einen Vorschlag zu dieser Denksportaufgabe hat, bin ich daran auch sehr interessiert. Reinhold
  18. Moin, ich nehme an du meinst: SELECT t.start,t.ziel, z1.name as ortstart, z2.name as ortziel FROM tabelle t,zwischentabelle z1, zwischentabelle z2 WHERE t.start = z1.ID and t.ziel = z2.ID Reinhold
  19. Moin, bei allen Hinweisen hier musst du aber immer noch sicherstellen, dass keine Rekursion eintreten kann. Das wäre dann der Fall, wenn eine Komponente in ihrer Stückliste (über nichts anderes reden wir hier ja wohl) sich selbst enthält. (aus dem Computerwörterbuch: "Rekursion, die: siehe Rekursion") Reinhold
  20. IMHO muss das so heißen: SELECT count(*) FROM tabelle WHERE spalte IS NULL count(*) zählt alle Zeilen, count(spalte) die Zeilen, in denen spalte not null ist. hth Reinhold
  21. Wenn ich dich richtig verstehe, dann willst du doch nur den Ordner öffnen? Also ohne jede Interaktion mit Access? Dann gehts so: Private Sub OpenOrdner() Dim Pfad As String, PfadUndOrdner As String, Ordner As String Pfad = "C:\Programme\" PfadUndOrdner = Pfad & Me!QM_Nr & "*" If Dir(PfadUndOrdner, vbDirectory) <> "" Then Ordner = Dir(PfadUndOrdner, vbDirectory) Shell "explorer.exe " & Pfad & Ordner, vbNormalFocus End If End Sub Den Rest kriegst du ja jetzt hin, oder? Reinhold
  22. Moin, probier es mal so: (ACHTUNG, wie immer ungetestet): Private Sub Befehl37_Click() Dim Pfad As String, Ordner As String Pfad = "D:\knurpsel\" & Me.QM_Nr & "*" If Dir(Pfad, vbDirectory) <> "" Then Ordner = Dir(Pfad, vbDirectory) Application.FollowHyperlink Ordner End If End Sub
  23. Moin, <KOPFSCHÜTTELN> dann will ich mal nicht so sein: gib doch am besten eine Stellenanzeige auf. Gibt es auch <TIPP> hier bei fachinformatiker.de</TIPP> </KOPFSCHÜTTELN> Das häuft sich in letzter Zeit Reinhold
  24. Ah, verstehe. Das wird so auch nix. Du kannst somit lediglich in einer Schleife über alle Verzeichnisse prüfen, welche alle mit deinen 5 Zeichen anfangen. Aus den Treffern kannst du dann eine Auswahl erzeugen. Es kann ja theoretisch unendlich viele Verzeichnisse geben, die mit diesen 5 Zeichen anfangen und du kannst definitv nur in genau eins wechseln. hth Reinhold
  25. Moin, ja, klar: ... Pfad = "D:\Tobias\" & left(Me.QM_Nr, 5) ... hth Reinhold

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...