Index: trunk/import/sichten.sql
===================================================================
--- trunk/import/sichten.sql	(revision 307)
+++ trunk/import/sichten.sql	(revision 308)
@@ -26,5 +26,5 @@
 --  2014-01-20 Erweiterung "exp_csv" fÃŒr alkisexport.php
 --  2014-01-21 In "exp_csv": Rechtsgemeinsachaft zu allen Personen statt als eigener Satz.
-
+--  2014-01-27 Neuer Baustein "flst_an_strasse". Neuer View "exp_csv_str" fÃŒr CSV-Export von Flst. an einer StraÃe
 
 -- Bausteine fÃŒr andere Views:
@@ -72,6 +72,56 @@
 --   SELECT * FROM doppelverbindung WHERE ba_dien > 0 LIMIT 20;
 
+
+
+-- Ein View, der die Verbindung von FlurstÃŒck zur StraÃentabelle fÃŒr zwei verschiedene FÃ€lle herstellt.
+-- Einmal ÃŒber die Lagebezeichnung MIT Hausnummer und einmal OHNE.
+-- Dies kann als "MittelstÃŒck" in den anderen Views eingefÃŒgt werden.
+
+--   FlurstÃŒck  >weistAuf> ax_lagebezeichnungmithausnummer  <JOIN> ax_lagebezeichnungkatalogeintrag
+--   FlurstÃŒck  >zeigtAuf> ax_lagebezeichnungohnehausnummer <JOIN> ax_lagebezeichnungkatalogeintrag
+
+--           DROP VIEW public.flst_an_strasse;
+CREATE OR REPLACE VIEW public.flst_an_strasse
+AS
+  SELECT vm.beziehung_von AS fsgml,          -- Join auf "gml_id" aus "ax_flurstÃŒck"
+         sm.gml_id AS stgml,                 -- Filter: gml_id der StraÃe
+      -- sm.gemeinde, sm.lage,               -- Gemeinde- und StraÃenschluessel als Filter?
+         'm' AS fall                         -- SÃ€tze unterschieden: Mit HsNr
+    FROM alkis_beziehungen vm                -- Verbindung Mit
+    JOIN ax_lagebezeichnungmithausnummer lm  -- Lage MIT
+      ON lm.gml_id=vm.beziehung_zu
+     AND vm.beziehungsart= 'weistAuf' 
+    JOIN ax_lagebezeichnungkatalogeintrag sm -- Ausnahmsweise mal direkt und nicht ÃŒber die "alkis_beziehungen"
+      ON lm.land=sm.land 
+     AND lm.regierungsbezirk=sm.regierungsbezirk 
+     AND lm.kreis=sm.kreis 
+     AND lm.gemeinde=sm.gemeinde 
+     AND lm.lage=sm.lage 
+ UNION
+  SELECT vo.beziehung_von AS fsgml,          -- Join auf gml_id aus ax_flurstÃŒck
+         so.gml_id AS stgml,                 -- Filter: gml_id der StraÃe
+      -- so.gemeinde, so.lage                -- Gemeinde- und StraÃenschluessel als Filter?
+         'o' AS fall                         -- SÃ€tze unterschieden: Ohne HsNr
+    FROM alkis_beziehungen vo                -- Verbindung OHNE
+    JOIN ax_lagebezeichnungohnehausnummer lo -- Lage OHNE
+      ON lo.gml_id=vo.beziehung_zu
+     AND vo.beziehungsart= 'zeigtAuf' 
+    JOIN ax_lagebezeichnungkatalogeintrag so -- StraÃe OHNE
+      ON lo.land=so.land 
+     AND lo.regierungsbezirk=so.regierungsbezirk 
+     AND lo.kreis=so.kreis 
+     AND lo.gemeinde=so.gemeinde 
+     AND lo.lage=so.lage;
+
+COMMENT ON VIEW public.flst_an_strasse 
+ IS 'ALKIS-Beziehung von FlurstÃŒck zu StraÃentabelle. UNION-Zusammenfassung der FÃ€lle MIT und OHNE Hausnummer.';
+
+-- Muss man noch dafÃŒr sorgen, dass FlurstÃŒck nicht doppelt vorkommt? z.B. mit DISTINCT
+-- Oder mÃŒssen ggf. mehrfache FS im Programm ÃŒbersprungen werden?
+
+-- Test-Ausgabe:
+--   SELECT * FROM flst_an_strasse WHERE stgml='DENW18AL000004Fl' LIMIT 40;
+
 -- Ende "Bausteine"
-
 
 
@@ -81,4 +131,5 @@
 -- Wird benÃ¶tigt im Auskunft-Modul "alkisexport.php":
 -- Je nach aufrufendem Modul wird der Filter (WHERE) an anderer Stelle gesetzt (gml_id von FS, GB oder Pers.)
+-- FÃŒr Filter nach "StraÃe" siehe die nachfolgende Sonderversion "exp_csv_str".
 
 -- Problem / Konflikt:
@@ -125,11 +176,11 @@
 
   -- Person
-     p.gml_id                             AS psgml,           -- mÃ¶glicher Filter Personen-GML-ID
-     p.anrede,
-     p.vorname,
-     p.namensbestandteil,
-     p.nachnameoderfirma,                                     -- Familienname
-     p.geburtsdatum,
-     --p.geburtsname, p.akademischergrad 
+    p.gml_id                             AS psgml,           -- mÃ¶glicher Filter Personen-GML-ID
+    p.anrede,
+    p.vorname,
+    p.namensbestandteil,
+    p.nachnameoderfirma,                                     -- Familienname
+    p.geburtsdatum,
+    --p.geburtsname, p.akademischergrad 
  
   -- Adresse der Person
@@ -200,4 +251,129 @@
   GRANT SELECT ON TABLE exp_csv TO mb27;       -- User fÃŒr Auskunfts-Programme
 --GRANT SELECT ON TABLE exp_csv TO alkisbuch;  -- User fÃŒr Auskunfts-Programme RLP-Demo
+
+
+-- Variante des View "exp_csv":
+-- Hier wird zusÃ€tzlich der Baustein "flst_an_strasse" verwendet.
+-- Der Filter "WHERE stgml= " auf die "gml_id" von "ax_lagebezeichnungkatalogeintrag" sollte gesetzt werden
+-- um alle FlurstÃŒcke zu bekommen, die an einer StraÃe liegen.
+-- DROP           VIEW exp_csv_str;
+CREATE OR REPLACE VIEW exp_csv_str
+AS
+ SELECT
+    l.stgml,                                             -- Filter: StraÃen-GML-ID
+
+  -- FlurstÃŒck
+    f.gml_id                             AS fsgml,       -- Gruppenwechsel fÃŒr "function lage_zum_fs" in alkisexport.php
+    f.flurstueckskennzeichen             AS fs_kennz,
+    f.gemarkungsnummer,                                  -- Teile des FS-Kennz. noch mal einzeln
+    f.flurnummer, f.zaehler, f.nenner, 
+    f.amtlicheflaeche                    AS fs_flae,
+    g.bezeichnung                        AS gemarkung,
+
+  -- Grundbuch
+  --gb.gml_id                            AS gbgml,       -- mÃ¶glicher Filter Grundbuch-GML-ID
+    gb.bezirk                            AS gb_bezirk,
+    gb.buchungsblattnummermitbuchstabenerweiterung AS gb_blatt,
+    z.bezeichnung                        AS beznam,      -- GB-Bezirks-Name
+
+  -- Buchungsstelle (GrundstÃŒck)
+    s.laufendenummer                     AS bu_lfd,      -- BVNR
+    --s.zaehler, s.nenner,                                -- Anteil des GB am FS, einzelne Felder
+    '=' || s.zaehler || '/' || s.nenner  AS bu_ant,      -- als Excel-Formel (nur bei Wohnungsgrundbuch JOIN ÃŒber 'Recht an')
+    s.buchungsart,                                       -- verschlÃŒsselt
+    b.bezeichner                         AS bu_art,      -- Buchungsart entschlÃŒsselt
+
+  -- NamensNummer (Normalfall mit Person)
+    nn.laufendenummernachdin1421         AS nam_lfd, 
+    '=' || nn.zaehler|| '/' || nn.nenner AS nam_ant,         -- als Excel-Formel
+
+  -- Rechtsgemeinsachaft (Sonderfall von Namensnummer, ohne Person, ohne Nummer)
+    rg.artderrechtsgemeinschaft          AS nam_adr,
+    rg.beschriebderrechtsgemeinschaft    AS nam_bes,
+
+  -- Person
+  --p.gml_id                             AS psgml,           -- mÃ¶glicher Filter Personen-GML-ID
+    p.anrede,
+    p.vorname,
+    p.namensbestandteil,
+    p.nachnameoderfirma,                                     -- Familienname
+    p.geburtsdatum,
+    --p.geburtsname, p.akademischergrad 
+ 
+  -- Adresse der Person
+    a.postleitzahlpostzustellung         AS plz,
+    a.ort_post                           AS ort,             -- Anschreifenzeile 1: PLZ+Ort
+    a.strasse,  a.hausnummer,                                -- Anschriftenzeile 2: StraÃe+HsNr
+    a.bestimmungsland                    AS land
+
+  FROM ax_flurstueck    f               -- FlurstÃŒck
+
+  JOIN flst_an_strasse  l               -- Lage (hier zusÃ€tzlicher JOIN gegenÃŒber Version "exp_csv") 
+	ON l.fsgml = f.gml_id 
+
+  JOIN doppelverbindung d               -- beide FÃ€lle ÃŒber Union-View: direkt und ÃŒber Recht von Buchung an Buchung
+    ON d.fsgml = f.gml_id 
+
+  JOIN ax_gemarkung g                   -- entschlÃŒsseln
+    ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer 
+
+  JOIN ax_buchungsstelle s              -- Buchungs-Stelle
+    ON d.bsgml = s.gml_id 
+  JOIN ax_buchungsstelle_buchungsart b  -- EnstschlÃŒsselung der Buchungsart
+    ON s.buchungsart = b.wert 
+
+  JOIN alkis_beziehungen v3             -- Buchung --> Grundbuchblatt
+    ON s.gml_id = v3.beziehung_von AND v3.beziehungsart = 'istBestandteilVon'
+  JOIN ax_buchungsblatt  gb 
+    ON v3.beziehung_zu = gb.gml_id 
+
+  JOIN ax_buchungsblattbezirk z 
+    ON gb.land=z.land AND gb.bezirk=z.bezirk 
+
+  JOIN alkis_beziehungen v4             -- Blatt  --> NamNum
+    ON v4.beziehung_zu = gb.gml_id AND v4.beziehungsart = 'istBestandteilVon'  
+  JOIN ax_namensnummer nn 
+    ON v4.beziehung_von = nn.gml_id
+
+  JOIN alkis_beziehungen v5             -- NamNum --> Person 
+   -- 2014-01-20: Mit LEFT ab hier werden auch NumNum-Zeilen mit "Beschreibung der Rechtsgemeinschaft" geliefert (ohne Person)
+    ON v5.beziehung_von = nn.gml_id AND v5.beziehungsart = 'benennt'
+  JOIN ax_person p
+    ON v5.beziehung_zu = p.gml_id
+
+  LEFT JOIN alkis_beziehungen v6        -- Person --> Anschrift
+    ON v6.beziehung_von = p.gml_id AND v6.beziehungsart = 'hat' 
+  LEFT JOIN ax_anschrift a 
+    ON v6.beziehung_zu = a.gml_id
+
+  -- 2mal "LEFT JOIN" verdoppelt die Zeile in der Ausgabe. Darum als Subquery:
+
+  -- Noch mal "GB -> NamNum", aber dieses Mal fÃŒr "Rechtsgemeinschaft".
+  -- Kommt max. 1 mal je GB vor und hat keine Relation auf Person.
+  LEFT JOIN
+   ( SELECT v7.beziehung_zu,
+            rg.artderrechtsgemeinschaft, 
+            rg.beschriebderrechtsgemeinschaft 
+       FROM ax_namensnummer rg 
+       JOIN alkis_beziehungen v7              -- Blatt  --> NamNum (Rechtsgemeinschaft) 
+         ON v7.beziehung_von = rg.gml_id
+      WHERE v7.beziehungsart = 'istBestandteilVon'
+        AND NOT rg.artderrechtsgemeinschaft IS NULL
+   ) AS rg                         -- Rechtsgemeinschaft
+   ON rg.beziehung_zu = gb.gml_id  -- zum GB
+
+  ORDER BY f.flurstueckskennzeichen, 
+           gb.bezirk, gb.buchungsblattnummermitbuchstabenerweiterung, s.laufendenummer,
+           nn.laufendenummernachdin1421;
+
+COMMENT ON VIEW exp_csv_str 
+ IS 'View fÃŒr einen CSV-Export aus der Buchauskunft mit alkisexport.php. Liefert nur FlurstÃŒcke, die eine Lagebezeichnung MIT/OHNE Hausnummer haben. Dazu noch den Filter auf GML-ID der StraÃentabelle setzen.';
+
+  GRANT SELECT ON TABLE exp_csv_str TO mb27;       -- User fÃŒr Auskunfts-Programme
+--GRANT SELECT ON TABLE exp_csv_str TO alkisbuch;  -- User fÃŒr Auskunfts-Programme RLP-Demo
+
+
+-- Test-Ausgabe:
+--   SELECT * FROM exp_csv_str WHERE stgml='DENW18AL000004Fl' LIMIT 40;
 
 
Index: trunk/info/info/alkis/alkisauszug.css
===================================================================
--- trunk/info/info/alkis/alkisauszug.css	(revision 307)
+++ trunk/info/info/alkis/alkisauszug.css	(revision 308)
@@ -10,5 +10,5 @@
 	2011-11-16	FS-Historie
 	2013-06-27	p.recht
-	2014-01-23	strasse, hsnr
+	2014-01-27	strasse, hsnr, Print-Balken
 */
 body	{background-color: #FDFFFD;}
@@ -16,16 +16,18 @@
 	font-size: 10pt; color: #000033; margin-top: 2pt; margin-bottom: 2pt;}
 
-/* ** Banner im Kopf (Balken), Farbcode fuer Nachweis-Art ** */
-p.fsausk		{text-align: right; background: teal;	 color: silver;}	/* Uebersichts-Seite Flurstuecks-Auskunft */
-p.fskennz	{text-align: right; background: navy;	 color: silver;}	/* Flurstuecks-Nachweis */
-p.fsei		{text-align: right; background: olive;	 color: silver;}	/* Flurstuecks- und Eigentuemer-Nachweis */
-p.fshis		{text-align: right; background: gray;	 color: white;}		/* Flurstuecks-Historie */
-p.gbkennz	{text-align: right; background: green;	 color: silver;}	/* Bestandsnachweis */
-p.nakennz	{text-align: right; background: maroon;  color: silver;}		/* Personen- und Adressdaten */
-p.geb		{text-align: right; background: yellow;  color: gray;}		/* Gebaeude zum FS */
-p.lage		{text-align: right; background: lime;    color: gray;}		/* Lage/Adresse zum FS */
-p.strasse	{text-align: right; background: limegreen; color: slategray;}	/* Strasse */
-p.recht		{text-align: right; background: #F0F8FF; color: gray;}		/* Baurecht, Bodenneuordnung */
+/* ** Banner im Kopf (farbiger Balken), Farbcode fuer Nachweis-Art ** */
+p.fsausk,p.fskennz,p.fsei,p.fshis,p.gbkennz,p.nakennz,p.geb,p.lage,p.strasse,p.recht {text-align: right;}
+p.fsausk	{background-color: teal; color: silver;}	/* Uebersichts-Seite Flurstuecks-Auskunft */
+p.fskennz,p.fsei{background-color: navy; color: silver;}	/* Flurstuecks-Nachweis */
+/* p.fsei	{background-color: olive; color: silver;}*/	/* Flurstuecks- und Eigentuemer-Nachweis */
+p.fshis		{background-color: gray; color: white;}		/* Flurstuecks-Historie */
+p.gbkennz	{background-color: green; color: silver;}	/* Bestandsnachweis */
+p.nakennz	{background-color: maroon; color: silver;}	/* Personen- und Adressdaten */
+p.geb		{background-color: yellow; color: gray;}	/* Gebaeude zum FS */
+p.lage		{background-color: lime; color: gray;}		/* Lage/Adresse zum FS */
+p.strasse	{background-color: limegreen; color: slategray;}	/* Strasse */
+p.recht		{background-color: #F0F8FF; color: gray;}	/* Baurecht, Bodenneuordnung */
 
+/* Format nach Inhalt */
 p.bezieh	{text-align: right; background: olive;	color: silver;} /* Beziehungen */
 p.fsd		{margin-left: 170px;}	/* Flst-Flaeche */
@@ -52,5 +54,5 @@
 span.gmlid	{font-style: italic; font-size: 7pt; text-align: right;}
 
-/* komplette Adresse im Rahmen*/
+/* komplette Adresse im Rahmen */
 div.adr {border-left-width: 0px; border-right-width: 0px; border-bottom-width: 2px; border-top-width: 2px; 
 	width: 60%; font-size: 12pt; border-color: #a2d545; border-style: solid; 
@@ -58,7 +60,7 @@
 	overflow: auto; padding: 6px; background: #e4f7dd;}
 
-span.key 		{color: gray; font-style: italic;} /* Schluesselwert vor Text, Wert zurueck nehmen */
-span.wichtig	{color: #BB0000; font-weight: bold;} /* Wert hervorheben */
-span.flae		{font-weight: bold;} /* FlÃ€chensume Flurst. */
+span.key 	{color: gray; font-style: italic;} /* Schluesselwert vor Text, Wert zurueck nehmen */
+span.wichtig{color: #BB0000; font-weight: bold;} /* Wert hervorheben */
+span.flae	{font-weight: bold;} /* FlÃ€chensumme Flurst. */
 
 /* ** T a b e l l e n ** */
@@ -127,5 +129,18 @@
 .buttonbereich	{font-size: 7pt; text-align: right;}
 .confbereich	{font-size: 7pt; background-color: #EFFDFF; width: 88%; position: relative; left: 40px;}
+
+/* abweichender Druck */
 @media print {
 	body {width: 98%; background-color:white;}
+
+	/* Balken */
+	p.fskennz,p.fsei,p.fshis,p.gbkennz,p.nakennz,p.geb,p.lage,p.strasse,p.recht{text-align: right; color: black;}
+	p.fskennz,p.fsei{border-bottom: 2px solid navy; border-top: 2px solid navy;}
+	p.fshis		{border-bottom: 2px solid gray; border-top: 2px solid gray;}
+	p.gbkennz	{border-bottom: 2px solid green; border-top: 2px solid green;}
+	p.nakennz	{border-bottom: 2px solid maroon; border-top: 2px solid maroon;}
+	p.geb		{border-bottom: 2px solid yellow; border-top: 2px solid yellow;}
+	p.lage		{border-bottom: 2px solid lime; border-top: 2px solid lime;}
+	p.strasse	{border-bottom: 2px solid limegreen; border-top: 2px solid limegreen;}
+	p.recht		{border-bottom: 2px solid #F0F8FF; border-top: 2px solid #F0F8FF;}
 }
Index: trunk/info/info/alkis/alkisexport.php
===================================================================
--- trunk/info/info/alkis/alkisexport.php	(revision 307)
+++ trunk/info/info/alkis/alkisexport.php	(revision 308)
@@ -12,4 +12,5 @@
 	2014-01-21 Der View liefert "Rechtsgemeinschaft" nun als Feld in allen Personen-Sätzen 
 			eines GB-Blattes statt als eigenen "Satz ohne Person".
+	2014-01-27 Erweiterung auf Filter "strasse" ("gml_id" aus "ax_lagebezeichnungkatalogeintrag")
 */
 
@@ -27,5 +28,5 @@
 	if (!$res) {
 		echo "Fehler bei Lagebezeichnung \n";
-		echo $sql."\n";
+		//echo $sql."\n";
 	}
 	$j=0;
@@ -64,15 +65,21 @@
 // Der Parameter "Tabellentyp" bestimmt den Namen des Filter-Feldes aus dem View "exp_csv".
 switch ($tabtyp) { // zulaessige Werte fuer &tabtyp=
-	case 'flurstueck': $filter = "fsgml"; break;
-	case 'grundbuch':  $filter = "gbgml"; break;
-	case 'person':     $filter = "psgml"; break;
+	case 'flurstueck': $filter = "fsgml"; break; // ax_flurstueck.gml_id
+	case 'grundbuch':  $filter = "gbgml"; break; // ax_buchungsblatt.gml_id
+	case 'person':     $filter = "psgml"; break; // ax_person.gml_id
+	case 'strasse':    $filter = "stgml"; break; // ax_lagebezeichnungkatalogeintrag.gml_id = Straße-GML-ID
 	default: exit("Falscher Parameter '".$tabtyp."'"); break;
 }
 
-// Daten aus gespeichertem View
-$sql ="SELECT * FROM exp_csv WHERE ".$filter." = $1 ";
-$v = array($gmlid);
-$res = pg_prepare("", $sql);
-$res = pg_execute("", $v);
+// Daten aus gespeichertem View, zusaetzlich Filter: "feld"='wert' mitgeben
+if ($tabtyp == 'strasse') { // Sonderversion
+	$sql="SELECT * FROM exp_csv_str WHERE ".$filter." = $1 ";
+} else {
+	$sql="SELECT * FROM exp_csv WHERE ".$filter." = $1 ";
+}
+
+$v=array($gmlid);
+$res=pg_prepare("", $sql);
+$res=pg_execute("", $v);
 if (!$res) {exit("Fehler bei Datenbankabfrage");}
 $i=1; // Kopfzeile zählt mit
@@ -112,13 +119,15 @@
 
 	// Namensnummer
-	$nam_lfd="'".kurz_namnr($row["nam_lfd"])."'"; // In Hochkomma, sonst wie Datum dargestellt.
+	$nam_lfd="'".kurz_namnr($row["nam_lfd"])."'"; // In Hochkomma, wird sonst wie Datum dargestellt.
 	$nam_ant=$row["nam_ant"];
 	$nam_adr=$row["nam_adr"]; // Art der Rechtsgemeischaft (Schlüssel)
-	if ($nam_adr == '') {     // keine Rechtsgemeinsachft
+
+	if ($nam_adr == '') {     // keine Rechtsgemeinschaft
+		$rechtsg='';
 		if ($nam_ant == '') { // und kein Bruch-Anteil
 			$nam_ant=1; // dann ganzer Anteil
 		}
 	} else {
-		$rechnen=false; // bei Rechtsgemeinschaft manuell interpretieren
+		$rechnen=false; // bei Rechtsgemeinschaft die Anteile manuell interpretieren
 		if ($nam_adr == 9999) { // sonstiges
 			$rechtsg=$row["nam_bes"]; // Beschrieb der Rechtsgemeinschaft
@@ -129,19 +138,12 @@
 
 	// Person
+	$vnam=$row["vorname"];
 	$nana=$row["nachnameoderfirma"];
-	if ($nana == "") {
-		$name="";
-	} else {
-		$name=anrede($row["anrede"]);
-		$namteil=$row["namensbestandteil"];
-		if ($namteil != "") { // von und zu
-			$name.=" ".$namteil;
-		} 
-		$name.=" ".$nana;
-		$vnam=$row["vorname"];
-		if ($vnam != "") { // keine Firma
-			$name.=", ".$vnam;
-		}
-	}
+	$namteil=$row["namensbestandteil"];
+	$name=anrede($row["anrede"]);
+	if ($name != "") {$name.=" ";} // Trenner
+	if ($namteil != "") {$name.=$namteil." ";} // von und zu
+	$name.=$nana;
+	if ($vnam != "") {$name.=", ".$vnam;} // Vorname nach hinten
 	$gebdat=$row["geburtsdatum"];
 
Index: trunk/info/info/alkis/alkisstrasse.php
===================================================================
--- trunk/info/info/alkis/alkisstrasse.php	(revision 307)
+++ trunk/info/info/alkis/alkisstrasse.php	(revision 308)
@@ -4,11 +4,9 @@
 	ALKIS-Buchauskunft, Kommunales Rechenzentrum Minden-Ravensberg/Lippe (Lemgo).
 	Alle FlurstÃŒcke an einer Strasse anzeigen, egal ob "mit" oder "ohne" Hausnummer
-	Parameter: gml_id aus der Tabelle ax_lagebezeichnungkatalogeintrag
+	Parameter: "gml_id" aus der Tabelle "ax_lagebezeichnungkatalogeintrag"
 
 	Version:
 	2014-01-23  Neu
-
-	ToDo:
-		auch alkisexport.php als CSV-Export auf alle FS an Strasse erweitern. Dann unten ent-kommentieren.
+	2014-01-24  CSV-Export
 */
 session_start();
@@ -35,5 +33,5 @@
 	<script type="text/javascript">
 		function ALKISexport() {
-			window.open(<?php echo "'alkisexport.php?gkz=".$gkz."&tabtyp=lage&gmlid=".$gmlid."'"; ?>);
+			window.open(<?php echo "'alkisexport.php?gkz=".$gkz."&tabtyp=strasse&gmlid=".$gmlid."'"; ?>);
 		}
 	</script>
@@ -135,7 +133,7 @@
 $sql="SELECT g.gemarkungsnummer, g.bezeichnung, f.gml_id, f.flurnummer, f.zaehler, f.nenner, f.amtlicheflaeche, duett.lgml, duett.hausnummer FROM ax_flurstueck f ";
 $sql.="JOIN ax_gemarkung g ON f.land=g.land AND f.gemarkungsnummer=g.gemarkungsnummer ";
-$sql.="JOIN (SELECT v1.beziehung_von AS fsgml, lm.gml_id AS lgml, lm.land, lm.regierungsbezirk ,lm.kreis, lm.gemeinde, lm.lage, lm.hausnummer ";
+$sql.="JOIN (SELECT v1.beziehung_von AS fsgml, lm.gml_id AS lgml, lm.land, lm.regierungsbezirk, lm.kreis, lm.gemeinde, lm.lage, lm.hausnummer ";
 $sql.="FROM alkis_beziehungen v1 JOIN ax_lagebezeichnungmithausnummer lm ON lm.gml_id=v1.beziehung_zu AND v1.beziehungsart= 'weistAuf' ";
-$sql.="UNION SELECT v2.beziehung_von AS fsgml, '' AS lgml, lo.land, lo.regierungsbezirk ,lo.kreis, lo.gemeinde, lo.lage, '' AS hausnummer ";
+$sql.="UNION SELECT v2.beziehung_von AS fsgml, '' AS lgml, lo.land, lo.regierungsbezirk, lo.kreis, lo.gemeinde, lo.lage, '' AS hausnummer ";
 $sql.="FROM alkis_beziehungen v2 JOIN ax_lagebezeichnungohnehausnummer lo ON lo.gml_id=v2.beziehung_zu AND v2.beziehungsart= 'zeigtAuf' ";
 $sql.=") AS duett ON f.gml_id=duett.fsgml "; 
@@ -204,5 +202,5 @@
 		<a title="zur&uuml;ck" href='javascript:history.back()'><img src="ico/zurueck.ico" width="16" height="16" alt="zur&uuml;ck"></a>&nbsp;
 		<a title="Drucken" href='javascript:window.print()'><img src="ico/print.ico" width="16" height="16" alt="Drucken"></a>&nbsp;
-<!--	<a title="Export als CSV" href='javascript:ALKISexport()'><img src="ico/download.ico" width="16" height="16" alt="Export" /></a>&nbsp; -->
+		<a title="Export als CSV" href='javascript:ALKISexport()'><img src="ico/download.ico" width="16" height="16" alt="Export" /></a>&nbsp;
 	</div>
 </form>
