<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>dbNaut.com</title>
	<atom:link href="http://dbnaut.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://dbnaut.com</link>
	<description>Sobre Access, SQLite y SQL</description>
	<lastBuildDate>Tue, 02 Mar 2010 13:35:37 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Access Runtime 2010 beta</title>
		<link>http://dbnaut.com/microsoft-access/access-runtime-2010-beta/</link>
		<comments>http://dbnaut.com/microsoft-access/access-runtime-2010-beta/#comments</comments>
		<pubDate>Tue, 02 Mar 2010 13:35:37 +0000</pubDate>
		<dc:creator>Mario</dc:creator>
				<category><![CDATA[Microsoft Access]]></category>
		<category><![CDATA[Para usuarios de Access]]></category>
		<category><![CDATA[access]]></category>
		<category><![CDATA[runtime]]></category>

		<guid isPermaLink="false">http://dbnaut.com/?p=587</guid>
		<description><![CDATA[Al tiempo que Microsoft ha liberado la versión beta de Office 2010, incluyendo Access, ya se puede descargar la versión de ejecución 2010, o Access Runtime 2010.
El Runtime permite ejecutar los archivos mdb y accdb sin tener una licencia instalada de Microsoft Access 2010.
Access 2007 todavía tiene vida (me parece que igual pasa con la [...]]]></description>
			<content:encoded><![CDATA[<p>Al tiempo que Microsoft ha liberado la versión beta de Office 2010, incluyendo Access, ya se puede <a href="http://www.microsoft.com/downloads/details.aspx?familyid=57A350CD-5250-4DF6-BFD1-6CED700A6715&amp;displaylang=es" target="new">descargar</a> la versión de ejecución 2010, o Access Runtime 2010.</p>
<p>El Runtime permite ejecutar los archivos mdb y accdb sin tener una licencia instalada de Microsoft Access 2010.<span id="more-587"></span></p>
<p>Access 2007 todavía tiene vida (me parece que igual pasa con la versión 2000), pero también sé que habemos varios inquietos que nos gusta,  a veces, bajar y evaluar las versiones betas para ir conociendo qué es lo que viene de los laboratorios de desarrollo de estos sistemas que se dinfunden ampliamente.</p>
<p><a href="http://www.microsoft.com/downloads/details.aspx?familyid=57A350CD-5250-4DF6-BFD1-6CED700A6715&amp;displaylang=es" target="_blank">Enlace a la descarga del Access Runtime 2010 &gt;&gt;</a></p>
]]></content:encoded>
			<wfw:commentRss>http://dbnaut.com/microsoft-access/access-runtime-2010-beta/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Jay Godse y sus videos sobre SQLite3</title>
		<link>http://dbnaut.com/sqlite/jay-godse-y-sus-videos-sobre-sqlite3/</link>
		<comments>http://dbnaut.com/sqlite/jay-godse-y-sus-videos-sobre-sqlite3/#comments</comments>
		<pubDate>Mon, 15 Feb 2010 21:40:07 +0000</pubDate>
		<dc:creator>Mario</dc:creator>
				<category><![CDATA[SQLite]]></category>
		<category><![CDATA[sqlite3]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://dbnaut.com/?p=579</guid>
		<description><![CDATA[Me he encontrado en Youtube los videos sobre SQLite3 que Jay Godse ha preparado.
Jay está metido de lleno en promover la herramienta. Un muy buen recurso, en inglés, para ir entrando a la práctica de ejercicios con SQLite3.
En sus videos, Jay explora las operaciones básicas para comenzar con SQLite3, y llega a mostrar una par [...]]]></description>
			<content:encoded><![CDATA[<p>Me he encontrado en Youtube los videos sobre SQLite3 que Jay Godse ha preparado.</p>
<p>Jay está metido de lleno en promover la herramienta. Un muy buen recurso, en inglés, para ir entrando a la práctica de ejercicios con SQLite3.<span id="more-579"></span></p>
<p>En sus videos, Jay explora las operaciones básicas para comenzar con SQLite3, y llega a mostrar una par de ejercicios con Ruby y Lua.</p>
<p>Merece la recomendación.</p>
<p><a title="Jay Godse y los videos SQLite3" href="http://www.youtube.com/user/Jaynonymous1" target="_blank">Click para ir a los videos &gt;&gt;</a></p>
<p>Además, Jay mantiene algunos espacios de publicación en Squidoo, de estos espacios, llamados <em>lenses</em>, hay varios enfocados en la programación y explotación del pequeño sistema de bases de datos: <a href="http://www.squidoo.com/lensmasters/JayGodse" target="_blank">http://www.squidoo.com/lensmasters/JayGodse</a></p>
]]></content:encoded>
			<wfw:commentRss>http://dbnaut.com/sqlite/jay-godse-y-sus-videos-sobre-sqlite3/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Definir un campo para porcentajes en Access</title>
		<link>http://dbnaut.com/microsoft-access/definir-un-campo-para-porcentajes-en-access/</link>
		<comments>http://dbnaut.com/microsoft-access/definir-un-campo-para-porcentajes-en-access/#comments</comments>
		<pubDate>Thu, 17 Dec 2009 00:42:48 +0000</pubDate>
		<dc:creator>Mario</dc:creator>
				<category><![CDATA[Microsoft Access]]></category>
		<category><![CDATA[Para usuarios de Access]]></category>
		<category><![CDATA[Campo]]></category>
		<category><![CDATA[Porcentaje]]></category>

		<guid isPermaLink="false">http://dbnaut.com/?p=570</guid>
		<description><![CDATA[Como siempre, cuando diseño una tabla en Microsoft Access, se me olvida cómo definir el campo para porcentajes &#8211; o de tanto por ciento -, creo que escribirlo aquí me puede ser práctico para más adelante, y de paso, le va a convenir a la concurrencia de este blog que apenas va comenzando con la creación de tablas.En la [...]]]></description>
			<content:encoded><![CDATA[<p>Como siempre, cuando diseño una tabla en Microsoft Access, se me olvida cómo definir el campo para porcentajes &#8211; o de tanto por ciento -, creo que escribirlo aquí me puede ser práctico para más adelante, y de paso, le va a convenir a la concurrencia de este blog que apenas va comenzando con la creación de tablas.<span id="more-570"></span>En la vista de diseño de una tabla, al campo que va a almacenar valores de porcentaje se le aplican los siguientes atributos:</p>
<ul>
<li>Data Type (Tipo de dato): Number (Número)</li>
<li>Field Size (Tamaño del campo): Single (Sencillo)</li>
<li>Format (Formato): Percent (Porcentaje)</li>
<li>Decimal Places (Lugares decimales): 0</li>
<li>Validation Rule (Regla de Validación): Between 0 And 1 (Entre 0 y 1)</li>
<li>El Default Value (Valor Predeterminado) puede ser una cantidad entre 0 y 1, por ejemplo el IVA, sería .16</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://dbnaut.com/microsoft-access/definir-un-campo-para-porcentajes-en-access/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Bento de FileMaker anunciado muy dinámicamente</title>
		<link>http://dbnaut.com/desde-fuera/bento-de-filemaker-anunciado-muy-dinamicamente/</link>
		<comments>http://dbnaut.com/desde-fuera/bento-de-filemaker-anunciado-muy-dinamicamente/#comments</comments>
		<pubDate>Tue, 15 Dec 2009 15:59:16 +0000</pubDate>
		<dc:creator>Mario</dc:creator>
				<category><![CDATA[Desde fuera]]></category>
		<category><![CDATA[Videos]]></category>
		<category><![CDATA[Bento]]></category>
		<category><![CDATA[FileMaker]]></category>

		<guid isPermaLink="false">http://dbnaut.com/?p=564</guid>
		<description><![CDATA[Explorando en Vimeo, me encontré los videos de Stephan Müller, un creativo videoasta con un estilo bien definido. No me resisto a incluirlo en dbNaut.com aunque se refiera un producto de bases de datos personales que nunca he abordado (más adelante viene algo, por cierto). Vale la pena dedicarle unos minutos al video:

BENTO (2008) from [...]]]></description>
			<content:encoded><![CDATA[<p>Explorando en <a title="Vimeo.com" href="http://vimeo.com/" target="_blank">Vimeo</a>, me encontré los videos de <a href="http://www.tretbootmotor.de/videos" target="New">Stephan Müller</a>, un creativo videoasta con un estilo bien definido. No me resisto a incluirlo en dbNaut.com aunque se refiera un producto de bases de datos personales que nunca he abordado (más adelante viene algo, por cierto). Vale la pena dedicarle unos minutos al video:<span id="more-564"></span></p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="500" height="375" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=6412630&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="500" height="375" src="http://vimeo.com/moogaloop.swf?clip_id=6412630&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" allowfullscreen="true" allowscriptaccess="always"></embed></object></p>
<p><a href="http://vimeo.com/6412630">BENTO (2008)</a> from <a href="http://vimeo.com/tretbootmotor">Stephan Müller</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://dbnaut.com/desde-fuera/bento-de-filemaker-anunciado-muy-dinamicamente/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Un sencillo procedimiento almacenado en SQL Server</title>
		<link>http://dbnaut.com/sql-server/un-sencillo-procedimiento-almacenado-en-sql-server/</link>
		<comments>http://dbnaut.com/sql-server/un-sencillo-procedimiento-almacenado-en-sql-server/#comments</comments>
		<pubDate>Tue, 15 Dec 2009 10:21:00 +0000</pubDate>
		<dc:creator>Mario</dc:creator>
				<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[Procedimientos Almacenados]]></category>
		<category><![CDATA[Stored Procedures]]></category>

		<guid isPermaLink="false">http://dbnaut.com/?p=546</guid>
		<description><![CDATA[Usando la base de datos de ejemplo Northwind, requiero un sencillo procedimiento almacenado (para el caso es más apropiada una vista, pero a modo de introducción mantiene el contexto sencillo). El procedimiento va a devolver algunas columnas de todos los registros de la tabla employees.

Escribo la instrucción en una nueva ventana de consulta en el [...]]]></description>
			<content:encoded><![CDATA[<p>Usando la base de datos de ejemplo <strong>Northwind</strong>, requiero un sencillo procedimiento almacenado (para el caso es más apropiada una vista, pero a modo de introducción mantiene el contexto sencillo). El procedimiento va a devolver algunas columnas de todos los registros de la tabla <em>employees</em>.<br />
<span id="more-546"></span></p>
<p>Escribo la instrucción en una nueva ventana de consulta en el <strong>SQL Server Management Studio</strong>:</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1"><span class="kw1">CREATE</span> procedure sp_SeleccionarEmpleados</div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">AS</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="kw1">SELECT</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; employeeid,</div>
</li>
<li class="li2">
<div class="de2">&nbsp; firstname,</div>
</li>
<li class="li1">
<div class="de1">&nbsp; lastname</div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="kw1">FROM</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; employees</div>
</li>
</ol>
</div>
<p>Luego de crearse, el procedimiento almacenado puede invocarse con <em>execute</em> desde otra ventana de consulta:</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">execute sp_SeleccionarEmpleados</div>
</li>
</ol>
</div>
<p>Como ya he comentado, si lo que se requiere es una sencilla consulta de selección, viene mejor crear una simple vista, en cambio, los procedimientos almacenados tienen más provecho cuando se elaboran enfocados en el uso de parámetros y la combinación de consultas muy elaboradas.</p>
<p>En el siguiente ejemplo, tampoco muy elaborado, estoy proponiendo un procedimiento almacenado que recibe un valor entero, se trata del id del empleado, y lo que espero devolver al usuario es la cantidad de ordenes de compra relacionadas con un empleado determinado:</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1"><span class="kw1">CREATE</span> procedure sp_CuentaOrdenesPorEmpleado</div>
</li>
<li class="li1">
<div class="de1">@id_empleado int</div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">AS</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="kw1">SELECT</span> count<span class="br0">&#40;</span>*<span class="br0">&#41;</span> <span class="kw1">AS</span> Ordenes</div>
</li>
<li class="li2">
<div class="de2">&nbsp;<span class="kw1">FROM</span> orders</div>
</li>
<li class="li1">
<div class="de1">&nbsp;<span class="kw1">WHERE</span> employeeid = @id_empleado</div>
</li>
</ol>
</div>
<p>Revisando tripas, es apropiado señalar que:</p>
<pre>@id_empleado int</pre>
<p>Es la línea que declara un parámetro llamado <em>@id_empleado</em> de tipo entero (si, los parámetros van con @). El parámetro hace lo suyo cuando se le aplica como filtro sobre el campo <em>employeeid</em> de la tabla <em>orders</em>, que a final de cuentas es una sencilla consulta para contar registros (de ahí que se usa <em>count</em>).</p>
]]></content:encoded>
			<wfw:commentRss>http://dbnaut.com/sql-server/un-sencillo-procedimiento-almacenado-en-sql-server/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Consultar varias columnas de texto combinadas en una, en Access</title>
		<link>http://dbnaut.com/microsoft-access/consultar-varias-columnas-de-texto-combinadas-en-una-en-access/</link>
		<comments>http://dbnaut.com/microsoft-access/consultar-varias-columnas-de-texto-combinadas-en-una-en-access/#comments</comments>
		<pubDate>Thu, 06 Aug 2009 21:02:00 +0000</pubDate>
		<dc:creator>Mario</dc:creator>
				<category><![CDATA[Microsoft Access]]></category>
		<category><![CDATA[Para usuarios de Access]]></category>
		<category><![CDATA[access]]></category>
		<category><![CDATA[Consulta]]></category>
		<category><![CDATA[consultas]]></category>
		<category><![CDATA[SQL]]></category>

		<guid isPermaLink="false">http://dbnaut.com/?p=532</guid>
		<description><![CDATA[Uno de mis clientes me ha preguntado sobre este requerimiento básico en una consulta de Access. Se trata de que en una columna se muestren los valores de dos o más columnas de texto combinadas. Un nombre más apropiado de la solución es &#8220;concatenar dos o más campos en uno en una consulta&#8221;. 
El caso típico es combinar [...]]]></description>
			<content:encoded><![CDATA[<p>Uno de mis clientes me ha preguntado sobre este requerimiento básico en una consulta de Access. Se trata de que en una columna se muestren los valores de dos o más columnas de texto combinadas. Un nombre más apropiado de la solución es &#8220;concatenar dos o más campos en uno en una consulta&#8221;. <span id="more-532"></span></p>
<p>El caso típico es combinar apellidos y nombres de contactos en una columna. Si se tienen, por ejemplo, la columna LastName y la columna FirstName, se pueden combinar del siguiente modo:</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">Contact: <span class="br0">&#91;</span>LastName<span class="br0">&#93;</span>+<span class="st0">&#8216;, &#8216;</span>+<span class="br0">&#91;</span>FirstName<span class="br0">&#93;</span></div>
</li>
</ol>
</div>
<p>Explico por partes:</p>
<ol>
<li><em>Contact</em>: es el nombre que va a tener la columna en la consulta</li>
<li><em>[LastName]</em> y <em>[FirstName]</em>: las dos columnas que se van a combinar.</li>
<li><em>+</em>: el signo + indica a Access que debe concatenar los valores.</li>
<li><em>&#8216;, &#8216;</em>: es una cadena de texto envuelta en comillas simples, una coma y un espacio, que se van a insertar entre los dos campos (como si fuera otro campo con un valor fijo, en realidad).</li>
</ol>
<p>En SQL, de Access, la sentencia de consulta queda así:</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1"><span class="kw1">SELECT</span> Accounts.Company, <span class="br0">&#91;</span>LastName<span class="br0">&#93;</span>+<span class="st0">&#8216;, &#8216;</span>+<span class="br0">&#91;</span>FirstName<span class="br0">&#93;</span> <span class="kw1">AS</span> Contact</div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">FROM</span> Accounts;</div>
</li>
</ol>
</div>
<p>La siguiente  ilustración muestra este ejemplo en el diseñador de consultas de Access.</p>
<p><img class="alignnone size-full wp-image-533" title="Columnas concatenadas en una consulta de Access 2007" src="http://dbnaut.com/wp-content/uploads/2009/08/dbNaut1.Png" alt="Columnas concatenadas en una consulta de Access 2007" width="488" height="338" /></p>
<p>Hay que tomar en cuenta que este ejemplo se refiere al uso de varias columnas de la misma tabla. El asunto cambia si se van a concatenar las cadenas de texto de campos de diversas tablas relacionadas. Sin ser demasiado complicado, prefiero dejar el ejemplo de este caso para la entrada siguiente.</p>
]]></content:encoded>
			<wfw:commentRss>http://dbnaut.com/microsoft-access/consultar-varias-columnas-de-texto-combinadas-en-una-en-access/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Vincular datos de dBASE en Access 2007</title>
		<link>http://dbnaut.com/microsoft-access/vincular-datos-de-dbase-en-access-2007/</link>
		<comments>http://dbnaut.com/microsoft-access/vincular-datos-de-dbase-en-access-2007/#comments</comments>
		<pubDate>Thu, 28 May 2009 19:51:28 +0000</pubDate>
		<dc:creator>Mario</dc:creator>
				<category><![CDATA[Microsoft Access]]></category>
		<category><![CDATA[Para usuarios de Access]]></category>
		<category><![CDATA[access]]></category>
		<category><![CDATA[dBASE]]></category>
		<category><![CDATA[Vincular]]></category>

		<guid isPermaLink="false">http://dbnaut.com/?p=523</guid>
		<description><![CDATA[Entre las diferencias que se pueden apreciar entre Access 2007 y las versiones predecesoras, la vinculación de datos es una de las tareas afectadas.
En la versión 2007, la importación y vinculación de datos de otras fuentes (otros sistemas de bases de datos), ha ocupado un sitio más visible en el conjunto de herramientas &#8220;a la [...]]]></description>
			<content:encoded><![CDATA[<p>Entre las diferencias que se pueden apreciar entre Access 2007 y las versiones predecesoras, la vinculación de datos es una de las tareas afectadas.</p>
<p>En la versión 2007, la importación y vinculación de datos de otras fuentes (otros sistemas de bases de datos), ha ocupado un sitio más visible en el conjunto de herramientas &#8220;a la mano&#8221; del entorno de Access. No es nada nuevo, pero en virtud del enfoque orientado a datos que corresponde a Access, los diseñadores de la versión 2007 cayeron en la cuenta de que es una funcionalidad que si debe estar más a la vista.<span id="more-523"></span></p>
<p>Por ejemplo, si se requiere vincular o importar los datos de una archivo de dBASE, solamente hay que activar <em>External Data</em> (supongo que es <em>Datos Externos</em> en la versión en español), luego, desplegar con un clic <em>More</em> o <em>Más</em> y seleccionar el item <em>dBASE File</em>, Access va a mostrar un cuadro de diálogo que permite seleccionar el archivo de dBASE de alguna carpeta del sistema, ahí mismo se elige si el archivo va a estar vinculado o si los datos se van a importar en una nueva tabla.</p>
<p>Luego de la vinculación, a la tabla de dBASE se le puede tratar casi del mismo modo que a las tablas nativas de Access, ya sea en consultas o como fuente de datos para formularios y reportes.</p>
<p>Cuando una tabla vinculada ya no se va a usar, se le puede eliminar al seleccionarla con el botón alterno del ratón y elegir <em>Eliminar</em> o <em>Borrar.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://dbnaut.com/microsoft-access/vincular-datos-de-dbase-en-access-2007/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Me mudé a Access 2007 en inglés</title>
		<link>http://dbnaut.com/microsoft-access/me-mude-a-access-2007-en-ingles/</link>
		<comments>http://dbnaut.com/microsoft-access/me-mude-a-access-2007-en-ingles/#comments</comments>
		<pubDate>Tue, 05 May 2009 00:44:16 +0000</pubDate>
		<dc:creator>Mario</dc:creator>
				<category><![CDATA[Microsoft Access]]></category>
		<category><![CDATA[2007]]></category>
		<category><![CDATA[access]]></category>

		<guid isPermaLink="false">http://dbnaut.com/?p=519</guid>
		<description><![CDATA[Por fin, voy del mdb al accdb.
Motivado por los requerimientos de un proyecto, he debido mudarme de Access 2003 en español, a Access 2007 en inglés.
De entrada hay cambios significativos en el aspecto de la aplicación. Se agradece la mejora estética, ya había pasado buen tiempo desde que FileMaker y otras herramientas semejantes se habían [...]]]></description>
			<content:encoded><![CDATA[<p>Por fin, voy del <em>mdb</em> al <em>accdb</em>.</p>
<p>Motivado por los requerimientos de un proyecto, he debido mudarme de Access 2003 en español, a Access 2007 en inglés.</p>
<p><span id="more-522"></span>De entrada hay cambios significativos en el aspecto de la aplicación. Se agradece la mejora estética, ya había pasado buen tiempo desde que FileMaker y otras herramientas semejantes se habían esmerado en el diseño, Access era de vista simplona al compararle.</p>
<p>Las plantillas de aplicaciones para Access 2007 disponibles parecen robustas. Aquí se ve un ejemplo del formulario de alta de tareas que viene en una de sus plantillas.</p>
<p><a href="http://dbnaut.com/wp-content/uploads/2009/05/dbnaut-access2007-task-template.png"><img class="alignnone size-full wp-image-520" title="dbnaut-access2007-task-template" src="http://dbnaut.com/wp-content/uploads/2009/05/dbnaut-access2007-task-template.png" alt="" width="500" height="413" /></a></p>
<p>Lo que va a ser un tanto complicado, cuando escriba sobre Access, es el asunto del lenguaje, si es que hay ocasión de referirse a los pasos que se deben seguir para completar una tarea, supongo que la mayoría de los lectores de este blog deben contar con la versión en español. Espero que cada lector sea tan amable de ser paciente cuando haga referencia a ciertos objetos de Access sin ser preciso.</p>
<p>Microsoft está haciendo un gran trabajo para hacer que el conocimiento sobre el uso de su herramienta de bases de datos sea más explícito desde el website de Office. Esto deja espacio para enfocarse en temas especiales y no tanto en lo básico.</p>
<p>Al paso de las nuevas experiencias, me gustaría poder publicar algo de lo nuevo, para mí, sobre la versión 2007 y de lo que tenga pinta de ser tema interesante o asunto básico. Pero, principalmente, me parece que es importante realizar varias aplicaciones, que lleven el sello dbNaut.com y referirme a su uso en las futuras entradas de este website, ya que a final de cuentas, es el trabajo de un servidor el que sirve de base a este website. Ya se verá.</p>
]]></content:encoded>
			<wfw:commentRss>http://dbnaut.com/microsoft-access/me-mude-a-access-2007-en-ingles/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Ejemplo de una rutina de captura de datos con Ruby y SQLite3</title>
		<link>http://dbnaut.com/sqlite/ejemplo-de-una-rutina-de-captura-de-datos-con-ruby-y-sqlite-3/</link>
		<comments>http://dbnaut.com/sqlite/ejemplo-de-una-rutina-de-captura-de-datos-con-ruby-y-sqlite-3/#comments</comments>
		<pubDate>Tue, 31 Mar 2009 16:34:19 +0000</pubDate>
		<dc:creator>Mario</dc:creator>
				<category><![CDATA[SQLite]]></category>
		<category><![CDATA[línea de comando]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[rubygems]]></category>

		<guid isPermaLink="false">http://dbnaut.com/?p=506</guid>
		<description><![CDATA[Me encontré en mi PC con Xubuntu unos viejos ejercicios de Ruby con SQLite3.
Este ejemplo muestra el código de una sencilla rutina de captura de datos, en la línea de comando.
La base de datos d.db y la tabla sitios fueron creadas desde la línea de comando con SQLite3.
Se trata de capturar dos datos, nombre de [...]]]></description>
			<content:encoded><![CDATA[<p>Me encontré en mi PC con Xubuntu unos viejos ejercicios de Ruby con SQLite3.</p>
<p>Este ejemplo muestra el código de una sencilla rutina de captura de datos, en la línea de comando.</p>
<p>La base de datos <em>d.db</em> y la tabla <em>sitios</em> fueron creadas desde la línea de comando con SQLite3.</p>
<p>Se trata de capturar dos datos, nombre de un website y su URL:</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1"><span class="co1">#Archivo: captura.rb</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">require</span> <span class="st0">&#8216;rubygems&#8217;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">require</span> <span class="st0">&#8217;sqlite3&#8242;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li2">
<div class="de2"><span class="co1"># Solicitar el nombre del website</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">print</span> <span class="st0">&quot;Nombre del web site: &quot;</span></div>
</li>
<li class="li1">
<div class="de1">wb = <span class="kw3">gets</span>.<span class="kw3">chomp</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co1"># Solicitar URL</span></div>
</li>
<li class="li2">
<div class="de2"><span class="kw3">print</span> <span class="st0">&quot;URL del website: &quot;</span></div>
</li>
<li class="li1">
<div class="de1">url = <span class="kw3">gets</span>.<span class="kw3">chomp</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co1"># Si las dos variables tiene valores &#8230;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">if</span> wb != <span class="st0">&quot;&quot;</span> <span class="kw1">and</span> &nbsp; url != <span class="st0">&quot;&quot;</span></div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; <span class="co1"># &#8230; insertar datos</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; db = <span class="re2">SQLite3::Database</span>.<span class="me1">new</span><span class="br0">&#40;</span> <span class="st0">&quot;d.db&quot;</span> <span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; db.<span class="me1">execute</span><span class="br0">&#40;</span> <span class="st0">&quot;insert into sitios (nombre, url) values (&#8217;#{wb}&#8217;,'#{url}&#8217;)&quot;</span> <span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; db.<span class="me1">close</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">puts</span> <span class="st0">&quot;El sitio #{wb} (#{url}) ha sido guardado.<span class="es0">\n</span><span class="es0">\n</span>&quot;</span></div>
</li>
<li class="li2">
<div class="de2"><span class="kw1">else</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="co1"># &#8230; solicitar los dos valores</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw3">puts</span> <span class="st0">&quot;Se necesitan los dos valores.<span class="es0">\n</span>&quot;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">end</span></div>
</li>
</ol>
</div>
<p>Una consulta general de las filas de la tabla <em>sitios</em> se puede realizar con Ruby como sigue:</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1"><span class="co1"># Archivo: consulta.rb</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">require</span> <span class="st0">&#8216;rubygems&#8217;</span></div>
</li>
<li class="li1">
<div class="de1"><span class="kw3">require</span> <span class="st0">&#8217;sqlite3&#8242;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li2">
<div class="de2"><span class="co1"># Conexión y consulta</span></div>
</li>
<li class="li1">
<div class="de1">db = <span class="re2">SQLite3::Database</span>.<span class="me1">new</span><span class="br0">&#40;</span> <span class="st0">&quot;d.db&quot;</span> <span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">sql = <span class="st0">&quot;select * from sitios&quot;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1"><span class="co1"># Iteración por todos los registros</span></div>
</li>
<li class="li2">
<div class="de2">db.<span class="me1">execute</span><span class="br0">&#40;</span>sql<span class="br0">&#41;</span> <span class="kw1">do</span> |row|</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; <span class="co1"># presentar la fila o registro</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span class="kw3">p</span> row</div>
</li>
<li class="li1">
<div class="de1"><span class="kw1">end</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li2">
<div class="de2"><span class="co1"># Cerrar la conexión</span></div>
</li>
<li class="li1">
<div class="de1">db.<span class="me1">close</span></div>
</li>
</ol>
</div>
]]></content:encoded>
			<wfw:commentRss>http://dbnaut.com/sqlite/ejemplo-de-una-rutina-de-captura-de-datos-con-ruby-y-sqlite-3/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Limitando la cantidad de resultados en una consulta de SQLite</title>
		<link>http://dbnaut.com/sql/limitando-la-cantidad-de-resultados-en-una-consulta-de-sqlite/</link>
		<comments>http://dbnaut.com/sql/limitando-la-cantidad-de-resultados-en-una-consulta-de-sqlite/#comments</comments>
		<pubDate>Thu, 26 Mar 2009 06:29:37 +0000</pubDate>
		<dc:creator>Mario</dc:creator>
				<category><![CDATA[SQL]]></category>
		<category><![CDATA[SQLite]]></category>
		<category><![CDATA[LIMIT]]></category>
		<category><![CDATA[OFFSET]]></category>
		<category><![CDATA[SELECT]]></category>

		<guid isPermaLink="false">http://dbnaut.com/?p=501</guid>
		<description><![CDATA[SQLite tiene las palabras clave LIMIT y OFFSET para limitar la cantidad de resultados que una consulta devuelve:



SELECT * FROM sitios_web LIMIT 2;



Este es un ejemplo que regresa dos resultados:
1&#124;dbNaut&#124;http://dbnaut.com
2&#124;uBitKua&#124;http://ubitkua.com
También se puede solicitar cierta cantidad de resultados, a partir de una determinada posición:



SELECT * FROM sitios_web LIMIT 1 OFFSET 1;



El resultado es el registro que [...]]]></description>
			<content:encoded><![CDATA[<p>SQLite tiene las palabras clave LIMIT y OFFSET para limitar la cantidad de resultados que una consulta devuelve:</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">SELECT * FROM sitios_web LIMIT 2;</div>
</li>
</ol>
</div>
<p>Este es un ejemplo que regresa dos resultados:</p>
<pre>1|dbNaut|http://dbnaut.com
2|uBitKua|http://ubitkua.com</pre>
<p><span id="more-501"></span>También se puede solicitar cierta cantidad de resultados, a partir de una determinada posición:</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">SELECT * FROM sitios_web LIMIT 1 OFFSET 1;</div>
</li>
</ol>
</div>
<p>El resultado es el registro que sigue al omitir la primera posición:</p>
<pre>2|uBitKua|http://ubitkua.com</pre>
<p>Otro ejemplo, tres resultados, omitiendo las primeras dos posiciones:</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">SELECT * FROM sitios_web LIMIT 3 OFFSET 2;</div>
</li>
</ol>
</div>
<pre>3|Identimatica|http://identimatica.com
4|ParaServirle.com|http://paraservirle.com
5|RecyPlastic.com|http://recyplastic.com</pre>
<p>Sencillo, ¿no?.</p>
<p style="text-align: center;">***</p>
<p>LIMIT y OFFSET no forman parte del estándar SQL, aunque se pueden encontrar palabras clave con la misma funcionalidad en otros sistemas de gestión de bases de datos.</p>
<p style="text-align: center;">***</p>
<p>El ejemplo de la base de datos viene de <a href="http://dbnaut.com/sqlite/sqlite-3-creando-una-sencilla-base-de-datos-desde-la-linea-de-comando/">otra entrada del blog</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://dbnaut.com/sql/limitando-la-cantidad-de-resultados-en-una-consulta-de-sqlite/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
