Base Abfrage in die Calc Tabelle

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Base Abfrage in die Calc Tabelle

Re: Base Abfrage in die Calc Tabelle

von nusta88 » Di, 03.07.2007 16:31

boah es funzt alles

danke Steffan für alles, dank dir hab ich so viel Zeit eingespart. Ich bin dir echt dankbar, ich hoffe in Kürze geht dein Traum in Erfüllungg

Re: Base Abfrage in die Calc Tabelle

von Steffan » Di, 03.07.2007 16:20

Fehlermeldung?

Liegt wahrscheinlich an der Parameterübergabe oder am Datumsformat, lässt sich ohne weitere Angaben schwer sagen.
Auf alle Fälle musst Du Deinen SQL-String einzeln zusammensetzen. Ich gehe mal davon aus, dass dein Feld "Geburtstag" als Datum formatiert ist, dann musst Du dafür Sorge tragen, dass auch ein entsprechend formatierter String übergeben wird. Ich verwende eine MySQL-DB und da muss ein Datum immer im Format 'YYYY-MM-DD' (in einfachen Hochkommata) übergeben werden, wie das in anderen DB-Systemen ist weiß ich im Moment nicht. Zur Umwandlung verwende ich dazu die kleine unten gelistete Funktion toDate(). Vorher musst Du allerdings sicherstellen, dass dein User wirklich eine Datum eingibt, ansonsten gibst schon in der ersten Zeile einen Fehler.

Steffan

Code: Alles auswählen

...
sDatum = toDate(cDate(Inputbox("Geburtsdatum eingeben")))
sQuery = "SELECT ""Anrede"", ""Nachname"", ""Nachname"", ""Geburtstag"" FROM" & _
 ""Adressen"" AS ""Adressen"" WHERE ( ""Geburtstag"" > '" & sDatum & "' )"
...


function toDate(dDate as Date) as string
'wandelt ein Datum in einen SQL-lesbaren String um
	sYear = cStr(year(dDate))
	sMonth = Format(month(dDate),"00")
	sDay = Format(day(dDate),"00")
	toDate = sYear & "-" & sMonth & "-" & sDay
end function

Re: Base Abfrage in die Calc Tabelle

von nusta88 » Di, 03.07.2007 15:40

ok nochma danke

soweit so gut

ich hab jetzt bei mir ein Problem, dass ich das Anhand einer Parameterabfrage machen will. Alerrdings wirft er mir ne Fehlermeldung, wenn ich das Anhand einer Parameterabfrage mache, was könnte das Problem sein?

Hier der Code:

Code: Alles auswählen

	sQuery = "SELECT ""Anrede"", ""Nachname"", ""Nachname"", ""Geburtstag"" FROM ""Adressen"" AS ""Adressen"" WHERE ( ( ""Geburtstag"" > {D 'Datum' } ) )" 'Datum frage ich mit einer Inputbox ab. Aber es wirft eine Fehlermeldung hervor

Re: Base Abfrage in die Calc Tabelle

von Steffan » Di, 03.07.2007 14:14

Beispiel aus einem Makro von mir:

Code: Alles auswählen

		if oConn is nothing then call makeConnection
		oStat=oConn.createStatement()
		sQuery = "SELECT project_address_type FROM project_address_types WHERE  ( typeID = " & cstr(iType) & " )"
		oResult=oStat.executeQuery(sQuery)
		dim sTypes() as string	
		While oResult.Next
			sType=oResult.getString(1)	
		wend

Re: Base Abfrage in die Calc Tabelle

von nusta88 » Di, 03.07.2007 14:03

ja danke Steffan, aber was ich noch nicht hinbekommen habe ist, dass nur die erste zeile der spalten kopiert wird. weißt du den code dafür wie man die zeilen vorspult. ich hab was mit absolute(nZE) gelesen aber einsetzen konnte ich es iwie nicht. danke auf schnelle antworten

Re: Base Abfrage in die Calc Tabelle

von Steffan » Di, 03.07.2007 13:51

Hallo,

aus Base direkt geht das nicht, aber innerhalb eines Formulars kannst Du das per Makro lösen.
Folgendes sollte das Makro machen:
- Verbindung zur DB
- Abfrage(n) einlesen, auswählen
- Abfrage-Command zerlegen
- Parameter auslesen, über Dialog abfragen
- Spaltennamen ermitteln
- neues SQL-Kommando generieren
- Abfrage durchführen
- Calc-Dokument öffnen
- Resultsset der Abfrage zeilenweise in Calc-Dokument eintragen

Die Lösung ist doch ein gewisser Programmieraufwand, lässt sich aber m.E. realisieren.

Steffan.

Base Abfrage in die Calc Tabelle

von nusta88 » Di, 03.07.2007 08:59

Hallo Leute,

ich versuche grad eine Base-Abfrage in dei Calc Tabelle zu importieren. Mein Chef hat mir gesagt mit einem Klick auf eine Schaltfläche soll es automatisch die Abfrage machen und dann dies in Calc transportieren. Er meint dies würde mit Makro gehen. Allerdings sehe ich da keine Möglichkeit. Jedoch wenn ihr Lösungsvorschläge hättet, bin ich gern bereit die entgegenzunehmen.

Doch wie ich es machen will, ist eigentlch relativ einfach. Ich will vorerst die Abfrage speichern. In dieser Abfrage sind aber auch Parameterwerte drin. Aber wenn ich die Abfrage mit den Parameterwerten durchführe, komm zwar eine Ansicht von der Abfrage, aber ich kann diese weder speichern noch in Calc transportieren.

Ich bin auf euere Hilfe angewiesen. Bitte hilft mir.

bis dann

Nach oben